GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Ordenar Matriz de Strings [Resolvido]


#1

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)


#3

#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]);

}
}


#4

Funcionou amigo… Obrigado pela ajuda…