D
Donat
Программа принрмает ФИО, год рождения и т. д. Хоршо все выводит, но я никак не могу понять, почему метод пузырька тут не работает.(Я надеюсь, что здесь найдется человек, который увидит здесь ошибку или хоть как-нибудь подскажет)(С++ v 3.1):
#include <stdio.h>
#include <string.h>
void main(){
const int max = 50;
int Number, i;
struct Students{
char Name[40];
int Year;
char Tel[15];
}Spisok[max];
printf("\nVvedite kolichestvo stydentov N =");
scanf("%i", &Number);
for ( i = 0 ; i<Number; i++){
printf("Vvedite FIO\n");
scanf("%s", &Spisok.Name);
printf("Vvedite God\n");
scanf("%i", &Spisok.Year);
printf("Vvedite Telefon\n");
scanf("%s", &Spisok.Tel);
}
{for (i = 0; i<Number-1; i++);{
int imin = i;
for ( int j = i + 1; j < Number; j++){
if(strcmp( Spisok[j].Name, Spisok[imin].Name) < 0)
imin = j;
char a[40]; strcpy(a, Spisok.Name);
strcpy(Spisok.Name, Spisok[imin].Name);
strcpy(Spisok[imin].Name, a);}
} }
printf("\nSpisok vsex vvedennix stydentov\n");
printf(" FIO");
printf(" God rogdenia");
printf(" Telefon\n");
for ( i = 0 ; i<Number; i++){
printf("\n%30s%8i%20s", Spisok.Name, Spisok.Year, Spisok.Tel);
}
}
Заранее благодарю за ответ.
#include <stdio.h>
#include <string.h>
void main(){
const int max = 50;
int Number, i;
struct Students{
char Name[40];
int Year;
char Tel[15];
}Spisok[max];
printf("\nVvedite kolichestvo stydentov N =");
scanf("%i", &Number);
for ( i = 0 ; i<Number; i++){
printf("Vvedite FIO\n");
scanf("%s", &Spisok.Name);
printf("Vvedite God\n");
scanf("%i", &Spisok.Year);
printf("Vvedite Telefon\n");
scanf("%s", &Spisok.Tel);
}
{for (i = 0; i<Number-1; i++);{
int imin = i;
for ( int j = i + 1; j < Number; j++){
if(strcmp( Spisok[j].Name, Spisok[imin].Name) < 0)
imin = j;
char a[40]; strcpy(a, Spisok.Name);
strcpy(Spisok.Name, Spisok[imin].Name);
strcpy(Spisok[imin].Name, a);}
} }
printf("\nSpisok vsex vvedennix stydentov\n");
printf(" FIO");
printf(" God rogdenia");
printf(" Telefon\n");
for ( i = 0 ; i<Number; i++){
printf("\n%30s%8i%20s", Spisok.Name, Spisok.Year, Spisok.Tel);
}
}
Заранее благодарю за ответ.