
Ayuda programa para la facuu
Publicado por Fernanda (2 intervenciones) el 24/05/2016 00:26:01
Hola, necesito ayuda con un practico que tengo que presentar para la facu, les dejo el enunciado y el codigo de lo que pude ir haciendo, agradeceria muchisimo su ayuda en los puntos 3(parimpar) y 4(suma de elemntos), creo que el resto esta medianamente bien.
ENUNCIADO:
Realice un programa en C++, con las siguientes características:
1) Se deberán ingresar desde teclado una secuencia de N columnas de N elementos enteros cada una. Los mismos deberán almacenarse en una matriz de N filas por N columnas. M es una constante global con la cual se declara el arreglo, es decir la máxima dimensión. Antes de ingresar los datos se deberá ingresar el valor de N y validar que no supere el valor de M.
Ej: Ingresar N:4. Ingrese datos: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
2) La Matriz A deberá imprimirse en pantalla mediante una función imprimirMatriz (int[][], int);
1 5 9 4
2 6 1 5
3 7 2 6
4 8 3 7
3) Una vez cargada la matriz, mediante la función "parimpar", deberá determinar qué cantidad de números en la matriz son pares, que cantidad son impares, y que cantidad son Ceros e imprimir en pantalla los resultados. Esta función, devuelve un 0 si el elemento enviado es 0, un 1 si es impar y un 2 si es par. Prototipo de la función: int parimpar(int);
Ej. Cantidad de elementos pares: 7. Cantidad de elementos impares: 9. Cantidad de elementos nulos: 0.
4) Por ultimo deberá determinar la suma de los elementos mayores que 0 de las filas impares, de cada columna de la matriz y guardarlos en un arreglo V, mediante una función cuyo prototipo será: generarVector (int[], int);
5) El vector V deberá imprimirse en pantalla mediante una función imprimirVector.
Suma de los elementos mayores que cero de cada columna
6 14 4 12
CODIGO FUENTE:
#include<iostream>
using namespace std;
const int M=6; //variable global
void imprimirMatriz (int matriz[M][M] , int cant );
int parimpar(int );
void generarVector (int matriz[M][M], int vector[M], int a);
void imprimirVector(int vector[M], int a);
int main()
{
int N;
int matriz[M][M];
int vector[M]={0,0,0,0,0,0};
cout<<"ingrese la dimension de la matriz, teniendo en cuenta que debe ser cuadrada(NxN)";
cin>>N;
while(N>M || N<0)
{
if(N>M)
{
cout<<"la dimension debe ser menor a 6, vuelva a ingrear"<<endl;
cin>>N;
}
else
{
cout<<"la dimension debe ser positiva, vuelva a ingresar"<<endl;
cin>>N;
}
}
cout<<"ingrese los datos de la matriz de dimension "<<N<<"x"<<N<<endl;
for(int i=0; i<N; i++)
{
cout<<"datos de la columna "<<i<<endl;
for(int j=0; j<N; j++)
{
cin>>matriz[j][i];
}
}
cout<<"la matriz ingresada es :"<<endl;
imprimirMatriz (matriz, N);
generarVector ( matriz, vector, N);
cout<<"suma de los elementos mayores que cero de cada columna :"<<endl;
imprimirVector(vector, N);
cin.ignore(2);
return 0;
}
void imprimirMatriz (int matriz[M][M], int cant)
{
for(int i=0; i<cant; i++)
{
for(int j=0;j<cant; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}
}
int parimpar(int );
{
//NO ENTIENDO DIRECTAMENTE COMO ARRANCAR
}
void generarVector (int matriz[M][M], int vector[M], int a)//LO PUDE HACER PERO PARA TODAS LAS FILAS, CUANDO TRATO DE HACER PARA LAS IMPARES(PONIENDO UN IF) ME SALE CUALQUIER COSA
{
int temporal;
for(int i=0;i<a;i++)
{
temporal=0;
for(int j=0;j<a;j++)
{
temporal=temporal+matriz[j][i];
}
vector[i]=temporal;
}
}
void imprimirVector(int vector[M],int a)
{
for(int i=0;i<a;i++)
{
cout<<vector[i]<<" ";
}
}
ENUNCIADO:
Realice un programa en C++, con las siguientes características:
1) Se deberán ingresar desde teclado una secuencia de N columnas de N elementos enteros cada una. Los mismos deberán almacenarse en una matriz de N filas por N columnas. M es una constante global con la cual se declara el arreglo, es decir la máxima dimensión. Antes de ingresar los datos se deberá ingresar el valor de N y validar que no supere el valor de M.
Ej: Ingresar N:4. Ingrese datos: 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
2) La Matriz A deberá imprimirse en pantalla mediante una función imprimirMatriz (int[][], int);
1 5 9 4
2 6 1 5
3 7 2 6
4 8 3 7
3) Una vez cargada la matriz, mediante la función "parimpar", deberá determinar qué cantidad de números en la matriz son pares, que cantidad son impares, y que cantidad son Ceros e imprimir en pantalla los resultados. Esta función, devuelve un 0 si el elemento enviado es 0, un 1 si es impar y un 2 si es par. Prototipo de la función: int parimpar(int);
Ej. Cantidad de elementos pares: 7. Cantidad de elementos impares: 9. Cantidad de elementos nulos: 0.
4) Por ultimo deberá determinar la suma de los elementos mayores que 0 de las filas impares, de cada columna de la matriz y guardarlos en un arreglo V, mediante una función cuyo prototipo será: generarVector (int[], int);
5) El vector V deberá imprimirse en pantalla mediante una función imprimirVector.
Suma de los elementos mayores que cero de cada columna
6 14 4 12
CODIGO FUENTE:
#include<iostream>
using namespace std;
const int M=6; //variable global
void imprimirMatriz (int matriz[M][M] , int cant );
int parimpar(int );
void generarVector (int matriz[M][M], int vector[M], int a);
void imprimirVector(int vector[M], int a);
int main()
{
int N;
int matriz[M][M];
int vector[M]={0,0,0,0,0,0};
cout<<"ingrese la dimension de la matriz, teniendo en cuenta que debe ser cuadrada(NxN)";
cin>>N;
while(N>M || N<0)
{
if(N>M)
{
cout<<"la dimension debe ser menor a 6, vuelva a ingrear"<<endl;
cin>>N;
}
else
{
cout<<"la dimension debe ser positiva, vuelva a ingresar"<<endl;
cin>>N;
}
}
cout<<"ingrese los datos de la matriz de dimension "<<N<<"x"<<N<<endl;
for(int i=0; i<N; i++)
{
cout<<"datos de la columna "<<i<<endl;
for(int j=0; j<N; j++)
{
cin>>matriz[j][i];
}
}
cout<<"la matriz ingresada es :"<<endl;
imprimirMatriz (matriz, N);
generarVector ( matriz, vector, N);
cout<<"suma de los elementos mayores que cero de cada columna :"<<endl;
imprimirVector(vector, N);
cin.ignore(2);
return 0;
}
void imprimirMatriz (int matriz[M][M], int cant)
{
for(int i=0; i<cant; i++)
{
for(int j=0;j<cant; j++)
{
cout<<matriz[i][j]<<" ";
}
cout<<endl;
}
}
int parimpar(int );
{
//NO ENTIENDO DIRECTAMENTE COMO ARRANCAR
}
void generarVector (int matriz[M][M], int vector[M], int a)//LO PUDE HACER PERO PARA TODAS LAS FILAS, CUANDO TRATO DE HACER PARA LAS IMPARES(PONIENDO UN IF) ME SALE CUALQUIER COSA
{
int temporal;
for(int i=0;i<a;i++)
{
temporal=0;
for(int j=0;j<a;j++)
{
temporal=temporal+matriz[j][i];
}
vector[i]=temporal;
}
}
void imprimirVector(int vector[M],int a)
{
for(int i=0;i<a;i++)
{
cout<<vector[i]<<" ";
}
}
- tp32016.rar(715,0 B)
Valora esta pregunta


0