امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
کمک در حل تمرین
نویسنده پیام
s.amin آفلاین
تازه وارد

ارسال‌ها: 2
موضوع‌ها: 1
تاریخ عضویت: آذر ۱۳۸۷

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #1
کمک در حل تمرین
سلام . من برنامه ای نوشتم که کارش اضافه کردن یک رشته در میان یک رشته دیگه هست .اما قبل از اینکه رشته دوم رو از من بگیره ،مکان جایگذاری رشته رو می خواد ومی شه ببینید ایرادش کجاست ؟ مرسی

#include <iostream.h>
#include <string.h>
char fun(char str1[20],char str2[5],int Lo);
int main()
{
char str1[20];
int Lo ;
char str2[5];
cout << "Type the first string: ";
cin.get(str1,20);
cout << "Type the second string: ";
cin.get(str2,20);
cout << "Enter the location: " ;
cin >> Lo;
fun(str1[20],str2[5],Lo);
return 0;
}
//******************************************
char fun(char str1[20],char str2[5],int Lo)
{
char str3[20];
char str4[20];
int j=0;

for(int i=Lo;i<strlen(str1);i++)

{


str3[j]=str1[i];


j++;

}

for (int n=0;n<Lo;n++)

str4[4]=str1[n];


strcat(str4,str2);

strcat(str4,str3)

cout << str4;

return 0;
}
۱۱-آذر-۱۳۸۷, ۱۳:۰۹:۴۸
ارسال‌ها
پاسخ
mahbooob آفلاین
كاربر دو ستاره
**

ارسال‌ها: 221
موضوع‌ها: 24
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 1422
( 2312 تشکر در 367 ارسال )
ارسال: #2
RE: کمک در حل تمرین
سلام
فکر میکنم اشکال برنامت فقط در قسمت (cin.get(str2,20 باشه..چون شما طول رشته ی str2را حداکثر 5 تا تعریف کرده بودین ولی اینجا میخواین رشته ای با طول بیشتر از اونو داخلش بریزین....

(البته یه دلیل دیگه هم میتونه داشته باشه اینکه شما 20 تا کاراکتر وارد میکنین به خیال اینکه این 20 تا داخل رشته ی اول ذخیره بشن ولی اون بیستمین کاراکترواردشده را بعنوان رشته ی دوم در نظر میگیره چون در اصل رشته ی اول 19 کاراکترو میتونه توی خودش جا بده..چون بیستمیش کاراکتر صفر(یا پوچ)هستش.

شاید بهتر بود طول این آرایه هارو مقدار مشخص نمیدادین و با const int max1,max2,... به صورت مقدار ثابت تعریف میکردین....
۱۱-آذر-۱۳۸۷, ۱۹:۳۳:۰۸
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000
mahbooob آفلاین
كاربر دو ستاره
**

ارسال‌ها: 221
موضوع‌ها: 24
تاریخ عضویت: شهریور ۱۳۸۷

تشکرها : 1422
( 2312 تشکر در 367 ارسال )
ارسال: #3
RE: کمک در حل تمرین
راستی فکر کنم تابع funهم که تعریف کردی اشکال داشته باشه ...چون شما طول رشته ی str4هم 20 تایی گرفتین درصورتیکه میخواین با دستور strcatدوتا رشته را به هم بچسبونین که طولش هم از 20 بیشتر میشه.پس بهتره طول این رشته را 25 بگیرین
۱۲-آذر-۱۳۸۷, ۰۰:۵۲:۱۸
ارسال‌ها
پاسخ
تشکر شده توسط : t3r!p3000


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS