ورود

نسخه کامل مشاهده نسخه کامل : جابه جا کردن دو داده رشته ای در c++



mahsa1469
21-06-2009, 18:27
سلام دوستان چه جوریمی تونم دو آرایه ی رشته ای را در زبان c++جابه جا کنم
مثلا دو اسم دارم که یکی از اونها توی توی ردیف اول و دومی توی ردیف دوم یک آرایه ی رشته ای از نوع کاراکتر قرار دارن می وام اون تو دا رو جابه جا کنم
مثلا تعریف کردم



name[2][10];


که توی سطر 0-ام اون نوشتم

mahsa

و توی سطر 1-ام اون مثلا ن.شتم

lida

حالا چه زوری جای اونها رو عوض کنم
امیدوارم تونسته باشم منطورم رو برسونم ممنون می شم اگه زود جوابم رو بدین:11::11:

sin2x=2sinxcosx
21-06-2009, 20:41
ببخشید من دقیقا متوجه نشدم . از کاربر می خواین دو تا رشته وارد کنه بعد شما جای اونا رو عوض کنین و چاپ کنین ؟

mahsa1469
21-06-2009, 20:47
خوب مسئله دوتا نیست فرض کنید N تا نام خانوادگی رو توی یه آرایه ی رشته ای قرار دادیم می خوایم اونها رو به ترتیب حروف الفا مرتب کنیم
چه توری مرتبشون کنم؟؟؟

DaneshD
21-06-2009, 21:07
برای مرتب سازی رشته ها از strcmp که مقایسه دو رشته رو انجام میده میتونید استفاده کنید. برای جابجایی رو رشته هم یک رشته دیگه با همون سایز تعریف کنید و رشته اول رو در اون با استفاده از strcpy کپی کنید. بعد رشته دوم را در رشته اول کپی کنید. حالا که محتویات رشته اول را در اون متغیر اضافی ذخیره کردید، میتونید اون رو در رشته دوم کپی کنید. به این کار البته exchange کردن میگن.
مرتب سازی هم با استفاده از الگوریتمهای متنوعی میتونه انجام بشه که ساده ترین اونها مرتب سازی حبابی یا bubble sort هست.

sin2x=2sinxcosx
21-06-2009, 21:16
خوب مسئله دوتا نیست فرض کنید N تا نام خانوادگی رو توی یه آرایه ی رشته ای قرار دادیم می خوایم اونها رو به ترتیب حروف الفا مرتب کنیم
چه توری مرتبشون کنم؟؟؟

خوب مثلا این طوری :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ضمنا منظورتون چی بود از اینکه مسئله دو تا نیست ؟

mahsa1469
21-06-2009, 21:17
اما من اصلا strcpy رو نمی شناسن براومون تعریف نشده بدون این چه طوری می تونم این کار رو می کنم

mahsa1469
21-06-2009, 21:21
خوب مثلا این طوری :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ضمنا منظورتون چی بود از اینکه مسئله دو تا نیست ؟
منطورم اینه که فقط نمی خوام دوتا رشته رو مقایسه کنم:46:
بدون استفاده از strcpy و توابع این مقایسه رو انجام بدم چه جوری باید این کار رو انجام بدم:11:

sin2x=2sinxcosx
21-06-2009, 21:23
خوب در این صورت مجبورین با استفاده از یه حلقه کاراکتر به کاراکتر کپی کنین . می تونین براش یه همچین تابعی بنویسین بعد ازش استفاده کنین . strcmp هم بر حسب حروف الفبا ( کدهای اسکی ) مقایسه می کنه که اگه رشته اول بزرگتر باشه یه مقدار بزرگتر از صفر برمی گردونه ، اگه رشته دوم بزرگتر باشه یه مقدار کمتر از صفر برمی گردونه و اگه مساوی باشن صفر برمی گردونه .
نوشتن این هم زیاد سخت نیست .

sin2x=2sinxcosx
21-06-2009, 21:26
منطورم اینه که فقط نمی خوام دوتا رشته رو مقایسه کنم:46:


متاسفانه من باز هم نفهمیدم منظورتون چیه . :41:

mahsa1469
21-06-2009, 22:33
خوب در این صورت مجبورین با استفاده از یه حلقه کاراکتر به کاراکتر کپی کنین . می تونین براش یه همچین تابعی بنویسین بعد ازش استفاده کنین . strcmp هم بر حسب حروف الفبا ( کدهای اسکی ) مقایسه می کنه که اگه رشته اول بزرگتر باشه یه مقدار بزرگتر از صفر برمی گردونه ، اگه رشته دوم بزرگتر باشه یه مقدار کمتر از صفر برمی گردونه و اگه مساوی باشن صفر برمی گردونه .
نوشتن این هم زیاد سخت نیست .
ممنون می شم اگه برام بزاریدش:11: پس فرداامتحان دارم توی همین موندم


متاسفانه من باز هم نفهمیدم منظورتون چیه . :41:
زیاد مهم نیست:46:

DaneshD
22-06-2009, 01:49
اینم برنامه ای که این کار رو براتون انجام بده. لازم به گفتن نیست، اما من به شما و رنگ سبز آواتارتون و اون شعر زیبای پایین نوشته هاتون اعتماد دارم که این کد رو کپی نمی کنید و فقط از اون برای راهنمایی استفاده می کنید تا کد خودتون رو از اول بنویسید.

سبز باشید



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahsa1469
22-06-2009, 08:17
سلام از راهنماييتون خيلييييييييييي ممنونم
اين برنامه رو من خودم نوشتم اما نمي دونم چرا اجرا نمي شه يعني اجرا مي شه ولي فقط يكي از اسامي رو بهم مي ده اونم با خيلي فاصله در صورتي كه من اصلا تو برنامم فاصله نمي دم اما اون يكي رو هم كه مي ده چند خط ژايين تر مي نويسه حس مي كنم مشكل از كامپيوترمونه چون قبلا هم برنامه هايي رو داشتم كه فقط روي كامپيوتر خونمون اجرا نمي شد ممنون مي شم اگه مشكل برنامه رو بهم بگيد
راستي از روي كدي كه بهم داديد متوجه برخي از اشكالاتم شدم مثلا من طول رشته ها رو در نظر نگرفتم اين رو الآن درستش مي كنم :11::11:سبزو پيروز باشيد

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

mahsa1469
22-06-2009, 14:16
اگه می شه یه سر اینجا هم بزنید
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]