Problema: Crie uma variavel 3D para armazenar o nome e cpf de 3 pessoas. O programa deve ordenar e imprimir o nome e cpf ordenandos alfabeticamente. Utilize ponteiros.
Consigo colocar em ordem alfabética mas os números do cpf não trocam conforme a posição do nome, sem falar que repete os dois últimos nomes em um 3 coluna, alguém poderia me ajudar?
#include <stdio.h>
#include <string.h>
void main()
{
/* declaracao dos vetores*/
/* declaracao dos ponteiros*/
char mat[3][2][100];
char *p_mat [3][2];
char aux[100];
int i,j, y, z, x;
/* Leitura da Matriz: */
printf("\n\nEntre com nome e cpf:");
for (i=0; i<3; i++)
{
printf("\nLinha %d: ",i+1);
for (j=0; j<2; j++)
{
scanf("%s", mat[i][j]);
p_mat[i][j] = mat[i][j];
}
}
for (i=0; i<3; i++){
for (x=i+1; x<3; x++){
z = strcmp (mat[i], mat[x]);
if(z>0)
{
strcpy(aux, mat[i]);
strcpy (mat[i], mat[x]);
strcpy(mat[x],aux);
}
}
}
/* Impressao: */
printf("\n");
for (i=0; i<3; i++)
{
printf("\n-");
for (j=0; j<3; j++)
printf("\t %s \t", p_mat[i][j]);
}
}