- Realice una función que capture los elementos de la matriz.
- Realice una función que imprima la matriz.
- Realice una función que sume los siguientes elementos de la matriz excepto de la diagonal principal.
- Realice una función que que determine cuantos elementos de la matriz fueron positivos y cuantos negativos.
- Realice una función que haga la búsqueda de un dato determinado por el usuario, y despliegue los diferentes casos: a) Aparece solo una vez, b) Aparece más de una vez, c) No aparece nunca.
Recordemos la sintaxis para declarar un arreglo bidimensional:
tipo_nombre-del-arreglo[Tamaño de Fila][Tamaño de Columna]
El programa:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#define COL 3
#define FIL 3
using namespace std;
void introduce (int A[FIL][COL]){
int f,c;
for(f=0; f<FIL ; f++){
for(c=0; c<COL ; c++){
cout<<"Introduce elemento ["<<f<<"]["<<c<<"]: ";
cin>>A[f][c];
}
}
cout<<endl<<endl;
}
void despliego (int A[FIL][COL]){
int f,c;
for(f=0; f<FIL ; f++){
for(c=0; c<COL ; c++){
cout<<" "<<A[f][c]<<"\t";
}
cout<<endl;
}
cout<<endl<<endl;
}
int diagsum (int A[FIL][COL]){
int f,c,suma=0;
for(f=0; f<FIL ; f++){
for(c=0; c<COL ; c++){
if(f!=c)
suma+=A[f][c];
}
}
return (suma);
}
void posneg (int A[FIL][COL]){
int f,c,pos=0,neg=0;
for(f=0; f<FIL ; f++){
for(c=0; c<COL ; c++){
if(A[f][c]==0)
neg--;
if(A[f][c]>c)
pos++;
else
neg++;
}
}
cout<<"No. de elementos positivos: "<<pos<<endl;
cout<<"No. de elementos negativos: "<<neg<<endl;
cout<<endl<<endl;
}
void Busqueda (int A[FIL][COL]){
int f,c,b;
char opc;
do{
cout<<"Dato por buscar: ";
cin>>b;
int s=0;
for(f=0; f<FIL ; f++){
for(c=0; c<COL ; c++){
if(b==A[f][c])
s++;
}
}
switch(s){
case 0: cout<<"No aparece nunca";
break;
case 1: cout<<"Aparece solo 1 vez";
break;
default: cout<<"Aparece mas de 1 vez";
break;
}
cout<<"\n Desea repetir la busqueda? S/N : ";
cin>>opc;
}while (opc=='s'||opc=='S');
cout<<endl;
}
int main(){
int A[FIL][COL],s;
system ("color 2f");
cout<<"\t\t\t\t Trabajando con una matriz de 3x3"<<endl;
introduce(A);
despliego(A);
s=diagsum(A);
cout<<"La suma de los elementos, excepto la diagonal principal es: "<<s;
cout<<endl;
posneg(A);
Busqueda(A);
return 0;
}


No hay comentarios:
Publicar un comentario