Está en la página 1de 6

PROGRAMACIÓN

MISCELÁNEA DE PROGRAMAS

 PROGRAMA 1:
#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){

float *pu,suma1=0,suma2=0;
int i,j,n,cont1,cont2=0,fila;
char x;
do{
cout << "\t\tPROGRAMA QUE REALIZA VARIAS OPERACIONES EN UNA MATRIZ CUADRADA DENOMINADA A\n\n";
cout << "\t\tEL PROGRAMA DEBE CALCULAR:\n\n";
cout << "\t\ta. La suma de los elementos de la diagonal principal.\n\n";
cout << "\t\tb. La suma de los elementos de la diagonal secundaria.\n\n";
cout << "\t\tc. Para cada fila de A, la suma de los datos de dicha fila.\n\n";
cout << "\t\td. La suma de los elementos de A que estan sobre la diagonal principal.\n\n";

cout << "Ingrese el numero de filas\n";


cin >> fila;
cout << "Ingrese el numero de columnas\n";
cin >> n;

if(fila==n){
float mat[n][n];
pu =&mat[0][0];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout << "ESCRIBA LOS DATOS ( "<<i<<" )( "<<j<<" ) DE SU MATRIZ: ";
cin >> *(pu+n*i+j);
}
}
cout << "\n\nMATRIZ INGRESADA\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(pu+n*i+j)<<"\t";
}
cout <<"\n";
}
cout << "\n\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j==i){
suma1=*(pu+n*i+j);
}
}
}
for(i=0,j=n-1;i<n;i++,j--){
suma2+=*(pu+n*i+j);
}
cout << "LA SUMA DE SU DIAGONAL PRINCIPAL ES: "<<suma1<<"\n";
cout << "LA SUMA DE LA DIAGONAL SECUNDARIA ES: "<<suma2<<"\n";
for(int i=0;i<n;i++){
cont1+=0;
for(int j=0;j<n;j++){
cont1+=*(pu+n*i+j);
}
cout<<"SUMA DE LA FILA ( "<<i<<" ) ES: "<<cont1<<"\n";
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(j>i){
cont2+=*(pu+n*i+j);
}
}
}
cout << "LA SUMA SOBRE LA DIAGONAL PRINCIPAL ES: "<< cont2;
}else{
cout << "\n\nLa matriz ingresada no es CUADRADA\n\n";
cout << "La matriz debe ser cuadrada para realizar las operaciones\n";
}
}
return 0;
}

 PROGRAMA 2:
#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){

float *p1;
int i,j,n,fila;
bool sim=false;
char s;
do{
cout << "\t\tPROGRAMA QUE COMPRUEBA SI LA MATRIZ ES SIMETRICA\n\n";

cout << "Ingrese el numero de filas:\n";


cin >> fila;
cout << "Ingrese el numero de columnas:\n";
cin >> n;

if(fila==n){
float mat[n][n];
p1 =&mat[0][0];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout << "Ingrese el dato ( "<<i<<" )( "<<j<<" ) de la matriz: ";
cin >> *(p1+n*i+j);

if(*(p1+n*i+j)==*(p1+n*j+i)){
sim=true;
}
}
}
cout << "\n\nMATRIZ INGRESADA\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(p1+n*i+j)<<"\t";
}
cout <<"\n";
}
cout << "\n\n";

cout << "MATRIZ TRANSPUESTA\n";

for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(p1+n*j+i)<<"\t";
}
cout <<"\n";
}

if(sim){
cout << "La matriz es SIMETRICA";
}else{
cout << "La matriz NO es SIMETRICA";
}

}else{
cout << "\n\nLa matriz ingresada no es cuadrada\n\n";
cout << "La matriz debe ser cuadrada para realizar las operaciones\n";
}
cout << "\nDesea salir del programa s/n\n";
cin >> s;

system("cls");
}while(s!='s');

return 0;
}

 PROGRAMA 3:
#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){

float *p1;
int i,j,n,fila,mayor,cont,cont2=0,aux=0;
char s;
do{
cout << "\t\tPROGRAMA VARIADO DE OPERACIONES EN UNA MATRIZ\n\n";

cout << "\t\tEl PROGRAMA EJECUTARA LO SIGUIENTE:\n\n";


cout << "\t\ta. Detectar el maximo elemento en cada fila\n\n";
cout << "\t\tb. Calcular y almacenar el valor de la suma de cada columna\n\n";
cout << "\t\tc. Averiguar cual columna tuvo la suma maxima\n\n";

cout << "Ingrese el numero de filas\n";


cin >> fila;
cout << "Ingrese el numero de columnas\n";
cin >> n;
if(fila==n){
float mat[n][n];
p1 =&mat[0][0];
for(i=0;i<n;i++){
for(j=0;j<n;j++){

cout << "INGRESE LOS DATOS ( "<<i<<" )( "<<j<<" ) DE LA MATRIZ: ";


cin >> *(p1+n*i+j);
}
}

cout << "\n\nMATRIZ INGRESADA\n";


for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(p1+n*i+j)<<"\t";
}
cout <<"\n";
}
cout << "\n\n";

for(i=0;i<n;i++){
mayor=0;
for(j=0;j<n;j++){
if(*(p1+n*i+j)> mayor){
mayor=*(p1+n*i+j);
}
}
cout << "El NUMERO MAYOR DE LA FILA ( "<<i<<" ) ES: "<<mayor<<"\n";
}

for( i=0;i<n;i++){
cont=0;

for( j=0;j<n;j++){
cont+=*(p1+n*j+i);

}
cout<<"LA SUMA DE CADA COLUMNA ( "<<i<<" ) ES: "<<cont<<"\n";
if(cont2<cont){
cont2=cont;
aux=i;
}
}

cout << "LA COLUMNA QUE TIENE EL MAXIMO: ( "<<aux<< ") "<<"\n";
}else{
cout << "\n\nLa matriz ingresada no es cuadrada\n\n";
cout << "La matriz debe ser cuadrada para realizar las operaciones\n";
}
cout << "\nDesea salir del programa s/n\n";
cin >> s;

system("cls");
}while(s!='s');

return 0;
}
 PROGRAMA 4:
#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){

int *pu;
int i,j,n,fila;
char s;
do{
cout << "\t\tPROGRAMA HECHO PARA UNA MATRIZ MxN\n\n";

cout << "Ingrese el numero de filas\n";


cin >> fila;
cout << "Ingrese el numero de columnas\n";
cin >> n;
int mat[fila][n];
pu =&mat[0][0];

for(i=0;i<fila;i++){
for(j=0;j<n;j++){
if(j<=i){
*(pu+fila*i+j)=(i+4)+j;
cout << *(pu+fila*i+j)<<"\t";
}
if(j<=i){
cout <<"";
}else{
*(pu+fila*i+j)=(i+4)+j-1;
cout <<*(pu+fila*i+j)<<"\t";
}

}
cout <<"\n";
}
cout << "\n\n";

cout << "\nDesea salir del programa s/n\n";


cin >> s;

system("cls");
}while(s!='s');

return 0;
}

 PROGRAMA 5:
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
float *p1;
int i,j,n,fila,mayor,cont,cont2=0,aux=0;
char s;
do{
cout << "\t\tPROGRAMA PARA OBTENER LA MATRIZ TRANSPUESTA (hecho con punteros)\n\n";
cout << "Ingrese el numero de filas\n";
cin >> fila;
cout << "Ingrese el numero de columnas\n";
cin >> n;
if(fila==n){
float mat[n][n];
p1 =&mat[0][0];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout << "INGRESE LOS DATOS ( "<<i<<" )( "<<j<<" ) DE LA MATRIZ: ";
cin >> *(p1+n*i+j);
}
}
cout << "\n\n\tMATRIZ INGRESADA\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(p1+n*i+j)<<"\t";
}
cout <<"\n";
}
cout << "\n\n";
cout << "\t MATRIZ TRANSPUESTA\n";
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cout <<*(p1+n*j+i)<<"\t";
}
cout <<"\n";
}
}else{
cout << "\n\nLa matriz ingresada no es cuadrada\n\n";
cout << "La matriz debe ser cuadrada para realizar las operaciones\n";
}
cout << "\nDesea salir del programa s/n\n";
cin >> s;
system("cls");
}while(s!='s');

return 0;
}

También podría gustarte