Să se sorteze cuvintele în ordinea creşterii lungimii
acestora.
Va rog urgent !!
Dau coroana!
DOAR LIMBAJUL C NU C++ !!!
Răspunsuri la întrebare
Răspuns:
#include <stdio.h>
#include <string.h>
void sortare(int size, char sir_cuvinte[100][100]){
for(int i = 0; i < size; i++){
for(int j = 0; j < size-i; j++){
if(strlen(sir_cuvinte[j])-1 > strlen(sir_cuvinte[j+1])-1) {
char temp[100];
strcpy(temp, sir_cuvinte[j]);
strcpy(sir_cuvinte[j], sir_cuvinte[j + 1]);
strcpy(sir_cuvinte[j + 1], temp);
}
}
}
}
void print_sir(int size, char sir_cuvinte[100][100]){
for(int i = 0; i < size; i++){
printf("%s ",sir_cuvinte[i]);
}
}
int main()
{
char sir_cuvinte[100][100];
int n_cuvinte;
scanf("%d",&n_cuvinte);
for(int i = 0; i < n_cuvinte; i++){
scanf("%s",sir_cuvinte[i]);
}
sortare(n_cuvinte,sir_cuvinte);
print_sir(n_cuvinte,sir_cuvinte);
return 0;
}
Explicație:
Am folosit metoda de sortare bubble sort.