👤
a fost răspuns

Să se sorteze cuvintele în ordinea creşterii lungimii
acestora.
Va rog urgent !!
Dau coroana!
DOAR LIMBAJUL C NU C++ !!!


Răspuns :

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.