PDA

View Full Version : آموزش: توضیح کد



sara_noori
چهارشنبه 06 اردیبهشت 1391, 18:42 عصر
با سلام ببخشید می خواستم ببینم کد زیر را که نوشتم درست است ؟
()Void main
{
Char s1[100], s2[100];
Int t=0 , s=0;
Scanf (%s %s , s1,s2);
For (i=0; s[i] !='\0' ;i++)
{
T=i+1;
For (j=0 ; s2[j]!='\0';j++)
S=j+1;
For(i=t , j=0 ;j=s;i++,j++)
*(s1+end + i)=*(s2+i);
}

بهروز عباسی
چهارشنبه 06 اردیبهشت 1391, 19:41 عصر
دوست عزیز لطفابرای خوانا بودن کد همیشه اونو در تگ مخصوص بذار اینجوری
#include<stdio.h>

void main()
{
char s1[100],s2[100];
int t=0 ,s=0;
scanf("%s %s",s1,s2);
for (int i=0; s1[i];i++)
{
t=i+1;
for (int j=0 ; s2[j];j++)
s=j+1;
for(i=t , j=0 ;j=s;i++,j++)*(s1+end + i)=*(s2+i);
}
}
کدت رو ویرایش کردم
دوم برنامه های که با c مینویسی رو تماما با حروف کوچیک بنویس که مشکلی پیش نیاد.
ودر اخر بگو هدف اصلیت چیه تا کمک کنم چون الان سی ندارم که تست کنم بگو این برنامه قراره چکار کنه؟

موفق باشی

ASGGSA
چهارشنبه 06 اردیبهشت 1391, 20:23 عصر
سلام.
این همون سوال الحاق دو رشه بوسیله ی اشارگر ها نیست که جوابتون را دادم؟ (البته تاپیکش خیلی زیبا حذف شد!:قهقهه:)
درستش اینه :

#include <stdio.h>
void main()
{
int num = 0;
char S1[100], S2[100];
scanf("%s %s", S1, S2);
for(int i = 0; S1[i] != NULL; i++);// NULL Or '\0'
for(int j = 0; S2[j] != NULL; j++)
*(S1 + i + j) = *(S2 + j);
*(S1 + i + j) = NULL;
printf("\n%s", S1);
}

حلقه اول طول رشته S1 را بدست می آورد و متغیر i همان end یا طول S1 است.
حلقه دوم هم رشته S2 را به رشته S1 بوسیله اشارگرها اضافه می کند.
در آخر کار نیز کاراکتر NULL یا '\0' اضافه می شود تا پایان رشته معلوم شود.
تذکر : لطفاً در برنامه نویسی حروف کوچک و بزرگ را رعایت کنید.

بهروز عباسی
چهارشنبه 06 اردیبهشت 1391, 20:29 عصر
دوست عزیز در شرطی که درون حلقه گذاشتید لازم نیست اینو چک کنید S2[j] != NULL چون '\0' خودش معادل false هستش و شما رو به نتیجه میرسونه.

ASGGSA
چهارشنبه 06 اردیبهشت 1391, 20:55 عصر
خیلی ممنونم از تذکر شما اما من قبلاً این کد را نوشته بودم و فقط کپیش کردم توی تاپیک و دیگه تغییرش ندادم.

بهروز عباسی
چهارشنبه 06 اردیبهشت 1391, 21:01 عصر
خیلی ممنونم از تذکر شما اما من قبلاً این کد را نوشته بودم و فقط کپیش کردم توی تاپیک و دیگه تغییرش ندادم.
خواهش میکنم وظیفست
قصد جسارت نداشتم اینطور که من فهمیدم جناب sara_noori تازه کار هستن اینو گفتم که ایشون متوجه بشن.
موفق باشید.

sara_noori
پنج شنبه 07 اردیبهشت 1391, 13:13 عصر
خواهش میکنم وظیفست
قصد جسارت نداشتم اینطور که من فهمیدم جناب sara_noori تازه کار هستن اینو گفتم که ایشون متوجه بشن.
موفق باشید.

ممنون از راهنماییتون.
من اصلا زبان c نخواندم برای همین بلد نیستم باز هم تشکر

بهروز عباسی
جمعه 08 اردیبهشت 1391, 13:54 عصر
ممنون از راهنماییتون.
من اصلا زبان c نخواندم برای همین بلد نیستم باز هم تشکر

سایتی در این تاپیک معرفی کردم برای یاد گیری کمکت میکنه http://barnamenevis.org/showthread.php?338262-%D8%A7%D8%B4%D8%A7%D8%B1%D9%87-%DA%AF%D8%B1%D9%87%D8%A7