Dev - C++ - ayuda con estos errores

 
Vista:

ayuda con estos errores

Publicado por teo (1 intervención) el 28/01/2022 18:42:06
#include "stdio.h"
#include "stdlib.h" /* Para la función malloc (). */
#include "string.h"
#define TOTAL 30

buscar_cadena (char *nombres[], char *cadena);
void ordenar (char *nombres[], int numero);

void main ()
{
static char *nombres[TOTAL]; /* Inicializa los punteros a nulos. */
char cadena[81], aux[80];
int t;
printf ("Digite <> para terminar.\n");
printf ("Porque es una línea nula.......\n");
printf ("l¡nea| texto\n");

for (t = 0; t < TOTAL; ++t) {
printf ("%-5d| ", t);
gets (aux);
/* Reserva memoria. */
if (*aux) {
nombres[t] = malloc (strlen (aux) + 1); /* ó malloc (sizeof aux + 1) */
strcpy (nombres[t], aux);
}
else
break; /* Termina si línea es nula. */
}
printf ("\nIngrese la cadena a buscar: ");
gets (cadena);
ordenar (nombres, t);
printf ("\n\nTEXTO INGRESADO:\n\n");
for (t = 0; nombres[t]; t++) /* Puntero nulo. */
puts (nombres[t]);
printf ("\nLa cadena se encuentra en la posición: %d\n",
buscar_cadena (nombres, cadena));

free(nombres);

nombres = NULL;

}

buscar_cadena (char *nombres[], char *cadena)
{
int t;
for (t = 0; nombres[t]; ++t) /* Si puntero es diferente de nulo. */
if (!strcmp (nombres[t], cadena)) /* Las cadenas son iguales. . */
return t;
return -1;
}
/* Ordena las líneas de texto. */
void ordenar (char *nombres[], int numero)
{
int i, j;
char *cad;
for (i = 0; i < numero - 1; i++)
for (j = i + 1; j < numero; j++)
if (strcmp (nombres[j], nombres[i]) < 0) {
cad = nombres[i];
nombres[i] = nombres[j];
nombres[j] = cad;
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder