Leer e imprimir un array en funciones separadas (problema con código)

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
maya_s
Mensajes: 1
Registrado: 31/08/2019 5:58 pm

Leer e imprimir un array en funciones separadas (problema con código)

#1 Mensaje por maya_s » 31/08/2019 6:28 pm

Para una tarea de la escuela tengo que utilizar funciones y arrays, y como aún no entiendo muy bien su uso decidí hacer un programa de prueba, pero al imprimir el array aparecen valores equivocados. Apenas empiezo y no tengo idea de que estoy haciendo mal. Les muestro mi código:

Código: Seleccionar todo

#include <stdio.h>

#define TAMF 2
#define TAMC 3
void scanArray(int array[][]);
void printArray(int array[][]);

int main()
{
	int array[TAMF][TAMC];
	scanArray(array);
	printArray(array);
}

void scanArray(int array[][])
{
	int i,j;
	for(i=0; i<TAMF;i++) {
		for(j=0;j<TAMC;j++){
			printf("Leer array[%d][%d]...\n>", i, j);
			scanf("%d", &array[i][j]);
		}
	}
}

void printArray(int array[][])
{
	printf("\n----------array----------\n");
	int i,j;
	for(i=0; i<TAMF;i++){
		for(j=0;j<TAMC;j++){
			printf("%d\t",array[i][j]);
		}
		printf("\n");
	}
}
Por ejemplo, si pongo de entrada:
1 2 3 4 5 6

Sale:
4 5 6
4 5 6

¿Podrían ayudarme?

dehm
Mensajes: 304
Registrado: 29/04/2011 7:31 am

Re: Leer e imprimir un array en funciones separadas (problema con código)

#2 Mensaje por dehm » 31/08/2019 10:40 pm

El único problema que le veo a tu código es que en las declaraciones e implementaciones de las funciones has de definir el tamaño del array, al menos el del segundo indice. De hecho tal y como lo tienes puesto a mi ni me compila.

Solo necesitas hacer lo dicho arriba y ya funciona:

Código: Seleccionar todo

#include <stdio.h>

#define TAMF 3
#define TAMC 3

void scanArray(int array[TAMF][TAMC]);
void printArray(int array[TAMF][TAMC]);

int main()
{
    int array[TAMF][TAMC];
    scanArray(array);
    printArray(array);
}

void scanArray(int array[TAMF][TAMC])
{
    int i,j;
    for(i=0; i<TAMF; i++)
    {
        for(j=0; j<TAMC; j++)
        {
            printf("Leer array[%d][%d]...\n>", i, j);
            scanf("%d", &array[i][j]);
        }
    }
}

void printArray(int array[TAMF][TAMC])
{
    printf("\n----------array----------\n");
    int i,j;
    for(i=0; i<TAMF; i++)
    {
        for(j=0; j<TAMC; j++)
        {
            printf("%d\t",array[i][j]);
        }
        printf("\n");
    }
}
Aprendiendo

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados