Deseo transferir array[3][6] a cada una de las funciones descritas en el programa, pero en la primera funcion llamada llenar el compilador me indica `array' undeclared (first use this function), hay error o falta algo?, soy novata.
#include<stdio.h>
#include<iostream>
using namespace std;
void llenar(int array[3][6]);
void imprimir(int array[3][6]);
void suma(int array[3][6],int array2[3][3],int n,int h);
int i,j;
main(){
llenar(array);
imprimir(array);
suma(array,array2);
system("pause");
}
void llenar(int array[][6]){
for(i=1;i<=3;i++){
for(j=1;j<=6;j++){
printf("\n valor posicion [%d][%d]=",i,j);
scanf("%d",&array[j]);
}
}
}
void imprimir(int array[][6]){
for(i=1;i<=3;i++){
for(j=1;j<=6;j++){
printf("\n posicion[%d][%d]=%d",i,j,array[j]);
}
}
}
void suma(int array[][], int array2[][],int n,int h){
for(i=1;i<=3;i++){
n=1,h=0;
for(j=1;j<=3;j++){
array2[j]=array[j+h]+array[j+n];
n++;
h++;
}
}
imprimir(array2);
}
Así a simple vista, he visto en la función main() que usas las variables array y array2, pero no las declaras dentro de esta, por lo que dará error.
main(){
llenar(array); //No puedes usar array porque no lo has declarado
imprimir(array);
suma(array,array2);
system("pause");
}
Por tanto, quedaría así (los valores del índice de los arrays que voy a declarar serán orientativos, cámbialos en función de lo que desees hacer):
main(){
int array[6][6], array2[8][39];
llenar(array);
imprimir(array);
suma(array,array2);
system("pause");
}
No he visto el resto del programa, pero por lo que indica el compilador, solo es eso. SI hay más errores coméntalos. ;)
Un saludo.
Tampoco tiene declaradas las variables n y h, ni los valores de éstos en "suma" y las matrices son ambas de 3x6. Además no tiene definidas dimensiones de los arrays en la funcion suma o sea;
main(){
int array[3][6], array2[3][6];
llenar(array);
imprimir(array);
suma(array,array2,n,h);
void suma(int array[][], int array2[][],int n,int h)<===aquí faltan las dimensiones
}
Un saludo.