-
اینم برنامه ای که این کار رو براتون انجام بده. لازم به گفتن نیست، اما من به شما و رنگ سبز آواتارتون و اون شعر زیبای پایین نوشته هاتون اعتماد دارم که این کد رو کپی نمی کنید و فقط از اون برای راهنمایی استفاده می کنید تا کد خودتون رو از اول بنویسید.
سبز باشید
[html]
// this function returns length of a string
int myStrLen(char* str)
{
int l=0;
while (str[l]!=char(0))
++l;
return l;
}
// this function copies "str1" into "str2"
// NOTE: the length of "str2" should be one character more than "str1"
// because last character should be set to zero character which means
// end of string in C
void myStrCpy(char* str1, char* str2)
{
int l=myStrLen(str1);
for (int i=0; i<l; ++i)
str2[i]=str1[i];
str2[l]=char(0);
}
// compares "str1" with "str2"
// returns 0 if two string are exactly same
// returns 1 if str1>str2
// returns 2 if str1<str2
// NOTE: it has been assumed that both strings are in lower or upper case
// which means there will be no conversion to upper or lower case
// in other words, two strings e.g. "freedom" and "Freedom" will be treated
// as different strings
int myStrCmp(char* str1, char* str2)
{
int l1=myStrLen(str1);
int l2=myStrLen(str2);
int l;
l=min(l1, l2);
for (int i=0; i<l; ++i)
{
if (str1[i]==str2[i])
continue;
if (str1[i]>str2[i])
return 1;
else
return 2;
}
return 0;
}
[/html]
-
سلام از راهنماييتون خيلييييييييييي ممنونم
اين برنامه رو من خودم نوشتم اما نمي دونم چرا اجرا نمي شه يعني اجرا مي شه ولي فقط يكي از اسامي رو بهم مي ده اونم با خيلي فاصله در صورتي كه من اصلا تو برنامم فاصله نمي دم اما اون يكي رو هم كه مي ده چند خط ژايين تر مي نويسه حس مي كنم مشكل از كامپيوترمونه چون قبلا هم برنامه هايي رو داشتم كه فقط روي كامپيوتر خونمون اجرا نمي شد ممنون مي شم اگه مشكل برنامه رو بهم بگيد
راستي از روي كدي كه بهم داديد متوجه برخي از اشكالاتم شدم مثلا من طول رشته ها رو در نظر نگرفتم اين رو الآن درستش مي كنم :11::11:سبزو پيروز باشيد
[html]
#include<iostream.h>
#include<conio.h>
int main()
{
int i,j,N,k,l=0,m;
char fname[100][100],lname[100][100],temp[10][100];
cout<<"Enter number of name:";
cin>>N;
for(i=0;i<N;++i)
{
cout<<"enter name and lastname"<<i<<":";
cin>>fname[i]>>lname[i];
}
for(i=0;i<N;++i)
for(j=i+1;j<N;++j)
{
for(k=0;lname[i][k]!='\0'&&lname[j][k];++j)
if(lname[i][k]<lname[j][k])
{
l=1;
break;
}
else
l=0;
for(m=0;lname[i][m]!='\0';++m)
{
if(l==1)
temp[0][m]=lname[i][m];
temp[0][m]='\0';
}
for(m=0;lname[j][m]!='\0';++m)
{
if(l==1)
lname[i][m]=lname[j][m];
lname[i][m]='\0';
}
for(m=0;temp[0][m]!='\0';++m)
{
if(l==1)
lname[j][m]=temp[0][m];
lname[j][m]='\0';
}
for(m=0;fname[i][m]!='\0';++m)
{
if(l==1)
temp[0][m]=fname[i][m];
temp[0][m]='\0';
}
for(m=0;fname[i][m]!='\0';++m)
{
if(l==1)
fname[i][m]=fname[j][m];
fname[i][m]='\0';
}
for(m=0;temp[0][m]!='\0';++m)
{
if(l==1)
fname[j][m]=temp[0][m];
fname[j][m]='\0';
}
}
for(i=0;i<N;++i)
cout<<lname[i]<<"\t"<<fname[i]<<"\n";
getch();
return 0;
}
[/html]
-