چند مثال برای آرایه به زبان ++C
مصطفی عفافی | چهارشنبه, ۱۰ خرداد ۱۳۹۶، ۰۱:۲۹ ب.ظ
چند مثال برای آرایه به زبان سی پلاس پلاس
شما هم با انتشار دانش خود به نشر علم کمک کنید
۱.برنامه ای بنویسید که رشته ای به طول حداکثر 10 حرف، دریافت کند و حروف آن رشته را زیر هم چاپ کند. مثلا اگر کاربر ali وارد کند حروف a,l,i زیر هم چاپ شود.
char s1[10];
cout<<"\nenter 1 string:";
cin>>s1;
for(int i=0;s1[i]!='\0';i++)
cout<<"\n"<<s1[i];
۲.دریافت یک رشته و شمارش تعداد حروف بزرگ و کوچک آن. مثلا اگر کاربر عبارت sAlAM وارد کند باید 2 حرف کوچک و 3 حرف بزرگ چاپ کند.
char s1[10
];
cout<<"\nenter 1 string:";
cin>>s1;
int tedad_horoof_koochak=0,tedad_horoof_bozorg=0;
for(int i=0;s1[i]!='\0';i++)
if (s1[i]>='A' && s1[i]<='Z') tedad_horoof_bozorg++;
else if(s1[i]>='a' && s1[i]<='z') tedad_horoof_koochak++;
cout<<"\ntedad horoof bozorg="<<tedad_horoof_bozorg;
cout<<"\ntedad horoof koochak="<<tedad_horoof_koochak;
۳.برنامه ای بنویسید که رشته ای را دریافت کند و حروف آن رشته را از آخر به اول بنویسد.
char A[20];
cout<<"\n1 string";
gets(A);
for(int i=strlen(A)-1;i>=0;i--)
cout<<A[i];
۴.برنامه ای بنویسید که یک رشته را دریافت کند و مشخص کند که آیا رشته ورودی با وارونش برابر است یا خیر؟مثلا اگر کاربر کلمه damad وارد کند. این رشته با وارونش برابر است.
char A[20],B[20];
cout<<"\n1 string";
gets(A);
for(int i=strlen(A)-1,j=0;i>=0;i--,j++)
B[j]=A[i];
B[j]='\0';
cout<<B;
if (strcmp(A,B)==0)
cout<<"\n"<<A<<" ba varoonash barabar ast";
else cout<<"\n"<<A<<" ba varoonash barabar nist";
۵. برنامه ای بنویسید که یک رشته را دریافت کند و همه حروف بزرگ آن را به حروف کوچک و بالعکس تبدیل کند. مثلا اگر کاربر عبارت coMPutEr را وارد کند، رشته نهایی COmpUTeR باشد.
char str[30];
cout<<"1 reshteh bedid";
cin>>str;
for(int i=0;i<strlen(str);i++)
if (str[i]>='a' && str[i]<='z') str[i]-=32;
else if (str[i]>='A' && str[i]<='Z')str[i]+=32;
cout<<"\nstr="<<str;
۶.برنامه ای بنویسید که اسامی 5 نفر را دریافت و در آرایه ای ریخته و سپس با دریافت یک عدد نام متناظر با آن و طول آن نام را چاپ کند.
char A[5][20];
for(int i=0;i<5;i++)
{
cout<<"\nenter name "<<i+1<<":";
cin>>A[i];
}
int n;
cout<<"\n1 adad ?";
cin>>n;
cout<<"\n name nafar "<<n<<"="<<A[n]<<" tool="<<strlen(A[n]);
۷.برنامه ای که اسامی 5 نفر را دریافت کند و طولانی ترین اسم را در پایان چاپ کند.(maxlen اندازه طولانی ترین نام و maxindex مکان (اندیس) طولانی ترین نام را نگه می دارد.)
char A[5][20];
for(int i=0;i<5;i++)
{
cout<<"\nenter name "<<i+1<<":";
cin>>A[i];
}
int maxlen=strlen(A[0]);
int maxindex=0;
for(i=1;i<5;i++)
if (strlen(A[i])>maxlen)
{maxlen= strlen(A[i]);
maxindex=i;
}
cout<<"\n max name="<<A[maxindex]<<" maxlen="<<maxlen;
۸.دریافت اسامی 7 نفر و مرتب کردن نام افراد بر اساس حروف الفبا(با استفاده از روش مرتب سازی حبابی bubble sort ).
char esami[7][20];
for(int i=0;i<7;i++)
cin>>esami[i];
for(int i=1;i<=6;i++)
for(int j=0;j<6;j++)
if (strcmp(esami[j],esami[j+1])>0)
{// jabe jaee A[j] , A[j+1]
char temp[20];
strcpy(temp,esami[j]);
strcpy(esami[j],esami[j+1]);
strcpy(esami[j+1],temp);
}
cout<<"\n\n";
for(int i=0;i<7;i++)
cout<<esami[i]<<"\t";
می خوام برنامه ای بنویسم که n تا اسم دریافت کنم و اسمی که بیشترین حروف مخلف رو داشته باشه رو چاپ کنه برای مثال:
ورودی: amir , mohammad , asdfgp , ddffeedfdfddffeefe
خروجی: asdfgp
لطفا کمکم کنید