Imprimir arreglo
tengo un arreglo de tamaño n ingresado por el usuario y luego debe imprimirlo por pantalla. este es el codigo que tengo:
#include <stdio.h>
#include <conio.h>
int *memoria (int n)
{
int *aux;
aux=(int*) malloc (n*(sizeof(int)));
if (aux==0)
{
printf("n Memoria insuficiente, cierre algunas aplicaciones y vuelva a intentar");
exit (0);
}
else
return aux;
}
main ()
{
int n, i;
int *A;
char *arreglo [n];
printf ("n Ingrese el tamaño del arreglo:");
scanf ("%d", &n);
A=memoria (n);
for (i=0; i<n; i++)
{
printf ("n Ingrese dato [%d]:", i+1);
scanf ("%s", &arreglo [i]);
}
if (i=n)
{
printf ("nEste es su arreglo");
i=0;
while (i<n)
{
printf ("%d.- %sn", i+1, &arreglo [i]);
i++;
}
}
getch ();
}
funciona a la perfeccion siempre y cuando el n sea menor o igual a 3, para n superior falla la impresion del arreglo... ojala puedan ayudarme.
GRACIAS
#include <stdio.h>
#include <conio.h>
int *memoria (int n)
{
int *aux;
aux=(int*) malloc (n*(sizeof(int)));
if (aux==0)
{
printf("n Memoria insuficiente, cierre algunas aplicaciones y vuelva a intentar");
exit (0);
}
else
return aux;
}
main ()
{
int n, i;
int *A;
char *arreglo [n];
printf ("n Ingrese el tamaño del arreglo:");
scanf ("%d", &n);
A=memoria (n);
for (i=0; i<n; i++)
{
printf ("n Ingrese dato [%d]:", i+1);
scanf ("%s", &arreglo [i]);
}
if (i=n)
{
printf ("nEste es su arreglo");
i=0;
while (i<n)
{
printf ("%d.- %sn", i+1, &arreglo [i]);
i++;
}
}
getch ();
}
funciona a la perfeccion siempre y cuando el n sea menor o igual a 3, para n superior falla la impresion del arreglo... ojala puedan ayudarme.
GRACIAS
Realmente no se como te funciona para n<3.
Primero tines que darle un valor a n;
de lo contrario, en : char *arreglo [n];
el arreglo tendra tamaño 0 o el que le de el compilador a la variable n. Otra cosa, en la condicion debe ir : if (i==n), no if (i=n), pero eso no es tan grabe.
Debes asignarle arreglo.
Primero tines que darle un valor a n;
de lo contrario, en : char *arreglo [n];
el arreglo tendra tamaño 0 o el que le de el compilador a la variable n. Otra cosa, en la condicion debe ir : if (i==n), no if (i=n), pero eso no es tan grabe.
Debes asignarle arreglo.