PDA

View Full Version : سوال: تبدیل رشته به int(لطفا کمکم کنید)



aminnokia
شنبه 02 خرداد 1388, 18:19 عصر
سلام خدمت تمام دوستان.این برنامهquicksortبه زبان cهستش.
iاین برنامه ورودی رو به صورت کاراکتر و رشته 80 تایی میگیره.من میخوام به صورت int
بگیره و هر کاری میکنم درست نمیشه.اگه ممکنه کمکم کنید.ممنونم. اینم کدش:

#include <stdio.h>
#include <conio.h>
#include <string.h>
void quick(char *, int, int);
int main()
{
char s[80];
clrscr();
printf(" enter a string :");
gets(s) ;
quick(s, 0, strlen(s) - 1);
printf("\n the sorted string is: %s", s);
getch();
return 0;
}
//**************
void quick(char item[], int left, int right)
{
register int i, j;
char x, y ;
i = left;
j = right;
x = item[(left + right) / 2];
do {
while(item[i] < x && i < right) i++ ;
while(x < item[j] && j > left) j -- ;
if(i <= j) {
y = item[i] ;
item[i] = item[j];
item[j] = y;
i++ ;
j -- ;
}//end of if
} while(i <= j);
if(left < j) quick(item, left, j) ;
if(i < right) quick(item, i, right);
}

tdkhakpur
شنبه 02 خرداد 1388, 22:30 عصر
سلام:
برنامه ات رو فقط به چیزی که میخوای اصلاح میکنم


#include <stdio.h>
#include <conio.h>
#include <string.h>
void quick(char *, int, int);
int main()
{
int num[80];
clrscr();
printf(" enter a 10 numbers:");
for( int i=0; i<10; i++)
scanf(%d", &num[i]) ;

quick(num, 0, 10);

for( int i=0; i<10; i++)
printf("\n the sorted numbers is: %d", num[i]);
getch();
return 0;
}
//**************
void quick(int item[], int left, int right)
{
register int i, j;
int x, y ;
i = left;
j = right;
x = item[(left + right) / 2];
do {
while(item[i] < x && i < right) i++ ;
while(x < item[j] && j > left) j -- ;
if(i <= j) {
y = item[i] ;
item[i] = item[j];
item[j] = y;
i++ ;
j -- ;
}//end of if
} while(i <= j);
if(left < j) quick(item, left, j) ;
if(i < right) quick(item, i, right);
}

اگه مشکل sysntaxداشت اصلاحش کن.
موفق باشی.