
AYUDA copiar strings no repetidos en un arreglo bidimencional
Publicado por leonel (6 intervenciones) el 28/09/2017 16:42:35
Mi problema es queal realizar el random,de strings de apellidos me funciona todo bien, pero a la hora de buscar los que son iguales y solo poner 1 solo sin repetir en un nuevo arreglo......no funciona
y me vuelve a copiar el random de vuelta
y me vuelve a copiar el random de vuelta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include<conio.h>
#include <string.h>
int main()
{
int numero,i,j=0,k,z=0,n,a=0 ;
n=50;
char A[50][50]= {"Perez","Peña","Maldonado","Tayagui","Gonzales","Pisacic","Garcia","Sanchez","Lopez","Martines","Alvarez","Gomez","Moreno","Blanco","Luiz","Hernandes","Romero","Fernandes","Alonso","Vazques","Diaz","Gallego","Zapata","Jaramillo","Mimi","Molina","Gordon","Zalegas","Estrada","Puerta","Paladines","Vargas","Lisboa","castillo","cruz","Duarte","Fiol","Wilson","davis","Smith","THOMPSON","Lago","Madrid","Miralles","Montenegro","Bonora","Olmedo","Ponce","Quirós","Saavedra"};
char B[50][50];
char C[50][50];
srand(time(NULL));
printf("**** Apellidos Originales Aleatorios\n\n");
for (i=1;i<=n;i++) {
numero= 1 + rand() % ((n+1)-1); //genera el random de apellidos
strcpy(C[a],A[numero]); //copia cada random al arreglo C
a++;
printf("%s\n",A[numero]);
}
printf("\n\n");
printf("*** El arreglo sin apellidos repetidos son! \n\n");
for (z=0;z<50;z++){ //bucle del primmer elemento
a=0;
for(k=z++;k<50;k++){ //bucle para comparar el 1er elemento con todos los demas
if(C[z]==C[k]){ //condicional que pregunta si son iguales (que al parecer no funciona)
while(a!=1){ // si se repite mas de dos veces, no se copia al arreglo B
strcpy(B[z],C[z]); //copia de C a B
printf("%s\n",B[z]); //muestra por pantalla
a++;
}
}
}
}
}
Valora esta pregunta


0