MATRICES

EJEMPLO 1
Implementar un programa que me pregunte la dimensión de un a matriz y la 
opción a escoger: 1.- todos 1, 2.- todos 0 3.- todos las diagonales 1) y me imprima la 
matriz seleccionada 
SOLUCIÓN 
#include <cstdlib> 
#include <iostream> 
using namespace std; 
void matriz_cero (int t, int m[10][10]) 

 int i,j; 
 for (i=1;i<=t;i++) 
 { 
 for (j=1;j<=t;j++) 
 { 
 m[i][j]=0; 
 } 
 } 

void matriz_uno (int t, int m[10][10]) 

 int i,j; 
 for (i=1;i<=t;i++) 
 { 
 for (j=1;j<=t;j++) 
 { 
 m[i][j]=1; 
 } 
 } 

void matriz_diagonal (int t, int m[10][10]) 

 int i,j; 
 for (i=1;i<=t;i++) 
 { 
 for (j=1;j<=t;j++) 
 { 
 if (i==j) 
 { 
 m[i][j]=1; 

 else if ((i+j)==(t+1)) 
 { 
 m[i][j]=1; 
 } 
 else 
 { 
 m[i][j]=0; 
 } 
 } 
 } 

void imprimir (int t,int m[10][10]) 

 int i,j; 
 for (i=1;i<=t;i++) 
 { 
 for (j=1;j<=t;j++) 
 { 
 cout<<m[i][j]<<" "; 
 } 
 cout<<endl; 
 } 
 } 
int main() 

 int t,opcion; 
 cout<<"Tamano:"<<endl; 
 cin>>t; 
 int m[10][10]; 
 cout<<"tipo de matriz: 1.- Todos 1 2.- Todos 0 3.- Diagonal"<<endl; 
 cin>>opcion; 
 switch (opcion) 
 { 
 case 1: 
 matriz_uno(t,m); 
 imprimir (t,m); 
 break; 
 case 2: 
 matriz_cero(t,m); 
 imprimir (t,m); 
 break; 
 case 3:  matriz_diagonal (t,m); 
 imprimir (t,m); 
 break; 
 default: 
 break; 
 } 
 system("PAUSE"); 
 return EXIT_SUCCESS; 
}
EJEMPLO 2

Escribir un programa que dado un número binario (almacenado en un vector de 
32 bits) lo convierta en un número entero y me diga si el número obtenido es 
capicúa. 
#include <cstdlib> 
#include <iostream> 
#include <cmath> 
using namespace std; 
int main(int argc, char *argv[]) 

 bool a; 
 int i,suma,j; 
 int v[32],cifras [100]; 
 for (i=31;i>=0;i--) 
 { 
 cout<<"componente "<<i<<endl; 
 cin>>v[i]; 
 } 
 suma=0; 
 for (i=0;i<=31;i++) 
 { 
 suma=suma+v[i]*pow (2.0,double (i)); 
 } 
 cout<<"El numero en decimal es:"<<suma<<endl; 
 j=1; 
 while (suma>10) 
 { 
 cifras [j]=suma%10; 
 j++; 
 suma=suma/10; 
 } 
 cifras [j]=suma; 
 for (i=1;i<=j;i++) 
 { 
 cout<<cifras [i]<<endl; 
 } 
 for (i=1;i<=j;i++) 
 { 
 if (cifras [i]==cifras [j+1-i]) 
 { 
 a=true; 
continue; 
 } 
 else 
 { 
 a=false; 
 cout<<"Numero no capicua"<<endl; 
 break; 
 } 
 } 
 if (a==true) 
 { 
 cout<<"Numero capicua"<<endl; 
 } 
 system("PAUSE"); 
 return EXIT_SUCCESS; 
}

No hay comentarios:

Publicar un comentario