Ordenar Matriz de Strings [Resolvido]

2 respostas
O

Boa tarde a todos,

tenho um vetor(matriz strings) que recebe 3 nome de 40 caracteres, e estou usando o seguinte código para ordenar, o mesmo compila normalmente, porém, quando termino de digitar os nomes, dá erro.
Alguém pode me ajudar e me dizer o que está acontecendo?

Desde já obrigado

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>

int main(void)

{

int i,j;

char nome[3][40];

char x[40];
for (i=0; i<=2; i++){
    printf("Digite o %d nome:", i+1);
    fflush(stdin);
    fgets(nome[i],40, stdin);
}



for(i=0;i<=2;i++){
    for (j=0;j<=2;j++){
        if (strcmp(nome[j-1], nome[j]>0)){
            strcpy(x, nome[j-1]);
            strcpy(nome[j-1],nome[j]);
            strcpy(nome[j], x);
        }
    }
}

for(i=0;i<=2;i++){
    for(j=0;j<=2;j++){
        printf("%s\n",nome[i]);
    }
}

}

Obs : passing argument 2 of ‘strcmp’ makes pointer from integer without
(esse é um dos erros que aparece no codeblocks)

2 Respostas

G

#include <stdio.h>
#include <string.h>

int main(){

int i,j;

char nome[3][40];

char x[40];

for (i=0; i < 3; i++){

printf("Digite o %d nome:", i+1);
  fflush(stdin);
  gets(nome[i]);

}

for(i = 0; i < 3; i++){

for(j = i+1; j < 3; j++){

if(strcmp(nome[i], nome[j]) > 0){
strcpy(x, nome[i]);
  		strcpy(nome[i], nome[j]);
  		strcpy(nome[j], x);
  	}
  }

}

for(i = 0; i < 3; i++){

printf("%s\n", nome[i]);

}
}

O

Funcionou amigo… Obrigado pela ajuda…

Criado 13 de outubro de 2017
Ultima resposta 16 de out. de 2017
Respostas 2
Participantes 2