/* Una matriz de 10 filas y 7 columnas contiene las puntuaciones de 10 participantes de un concurso de baile (números reales con 1 decimal). La puntuación final de cada participante se obtiene como la suma de sus puntuaciones
excluyendo la mayor y la menor (con lo cual se suman 5 puntuaciones para cada participante). Diseñar un programa que indique quien es el ganador del concurso.*/
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
float mat1[11][8];
float may, men, ganador, suma;
int k, posGanador,i,j;
posGanador=0;
//Llenar notas de los 10 participantes
cout<<"\n \t \t Concurso de Baile, Eleccion del ganador con Ingreso de Datos";
for (i=1;i<=10;i++)
{
for (j=1;j<=7;j++)
{ do{
cout<<"\n \t \t Ingrese un valor en la posicion (" <<i <<" , "<<j <<")\t";
cin>>(1,1,mat1[i][j]);
}
while(mat1[i][j]);
}
}
//Imprime la Matriz
for (i=1;i<=10;i++)
{
cout<<"\n \t \t";
for (j=1;j<=7;j++)
{
cout<<mat1[i][j];
cout<<"\t";
}
}
cout<<"\nBuscando ganador\n";
cout<<"Eliminando la mayor y menor nota queda: \n";
//Eliminar mayor y menor
ganador=0;
for (i=1;i<=10;i++)
{
cout<<"\n";
//Buscando mayor y menor de la fila
may = mat1[i][1];
men = mat1[i][1];
for (k=2;k<=7;k++)
{
//si es mayor del mayor
if(may < mat1[i][k])
{
may = mat1[i][k];
}
//si es menor del menor
if(men>mat1[i][k])
{
men=mat1[i][k];
}
}
suma=0;
for (j=1;j<=7;j++)
{
if (mat1[i][j] == may || mat1[i][j] == men)
{}
else
{
suma += mat1[i][j];
cout<< mat1[i][j];
cout<<"\t";
}
if( j==7 )
{
if(ganador < suma)
{
posGanador=i;
ganador=suma;
//cout<<"\t\t%.1f",ganador);
}
}
}
}
cout<<"\n El gandor es el participante "<<posGanador;
cout<<"\n Con puntos = "<<ganador;
getch();
}
Ejercicios de Programación con Visual Studio C++
Resolución de Programas con Vectores y Matrices
miércoles, 27 de junio de 2012
1. Pares e Impares
/* Dado un vector A de 10 elementos, generar dos vectores adicionales B y C
en los cuales se almacenen en el vector B los pares y en el vector C los impares.*/
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{
int a[10],b[10],c[10],i;
cout<<" \n \n \t \t Separacion de Pares e Impares de un vector\n \n \n";
for(i=0;i<=9;i++)
{
cout<<"\t \t Ingrese el "<<i <<" valor para el vector ";
cin>>a[i];
}
for(i=0;i<=9;i++)
{
if(a[i]%2==0)
{
b[i]=a[i];
}
else
b[i]=0;
if(a[i]%2==1)
c[i]=a[i];
else
c[i]=0;
}
cout<<" \n Pares e Impares \n \n";
for(i=0;i<=9;i++)
{
if(b[i]!=0)
cout<<b[i]<<" ";
}
cout<<"\n";
for(i=0;i<=9;i++)
{
if(c[i]!=0)
cout<<c[i]<<" ";
}
getch();
}
2. Números Primos
/* Dado un vector A de 10 elementos, generar un segundo vector B en donde se almacenarán únicamente
los números primos encontrados en el vector A. */
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int A[10],B[10],i,j,cont;
cout<<"\n \t \t \t Numeros Primos\n \n";
for(i=0;i<=9;i++)
{
cout<<" \t \t Ingrese la posicion " <<i <<" del vector ";
cin>>A[i];
}
for(i=0;i<=9;i++)
{
cont=0;
for(j=1;j<=A[i];j++)
{
if (A[i]%j==0)
{
cont++;
}
}
if (cont==2)
{
B[i]=A[i];
}
else
B[i]=0;
}
cout<<"\n \t \t \t Los numeros primos son:\n \n";
for(i=0;i<=9;i++)
{
if (B[i]!=0)
cout<<B[i]<<"\t \t";
}
getch();
}
3. Intercambio Diagonales Principales
/* Dadas dos matrices cuadradas A y B (5x5) intercambiar sus diagonales principales.*/
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
int mat[5][5],mat1[5][5];
int i,j,aux;
cout<<"\t \t \tIntercambio de las Diagonales Principales\n \n";
cout<<"\n \t \t \t \t INGRESE LA 1ra MATRIZ \n\n";
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
cout<<" \t \t \t Valor en la posicion " <<"("<<i <<" , "<<j<<") "<<"\t";
cin>>mat[i][j];
}
}
cout<<"\n \t \t \t \t INGRESE LA 2da MATRIZ \n\n ";
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
cout<<" \t \t \t Valor en la posicion " <<"("<<i;
cout<<" , "<<j<<") "<<"\t";
cin>>mat1[i][j];
}
}
// IMPRIME 1era MATRIZ //
cout<<"\n \n \t \t \t \t 1ra MATRIZ \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
// IMPRIME 2da MATRIZ
cout<<"\n \n \t \t \t \t 2da MATRIZ \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t";
for (j=1;j<=5;j++)
{
cout<<mat1[i][j]<<"\t";
}
}
//Intercambio de Diagonales
cout<<"\n \n\n\t \t \t Intercambio diagonales principales\n ";
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
if (i==j)
{
aux=mat[i][j];
mat[i][j]=mat1[i][j];
mat1[i][j]=aux;
}
}
}
// IMPRIME MATRIZ 1 CON NUEVO RESULTADO
cout<<"\n \n \t \t \t \t 1ra MATRIZ \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t\t";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
// IMPRIME MATRIZ 2 CON NUEVO RESULTADO
cout<<"\n \n \t \t \t \t 2da MATRIZ \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t";
for (j=1;j<=5;j++)
{
cout<<mat1[i][j]<<"\t";
}
}
getch();
}
4. Diagonal Principal por Secundaria
/* Dada una matriz cuadrada A (5x5) intercambiar la diagonal principal con la diagonal secundaria*/
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
int mat[5][5];
int i,j,k,aux;
cout<<"\n \n \t Intercambio de la Diagonal Principal por la Diagonal Secundaria\n \n";
cout<<"\n \t \t \t \t INGRESE LA MATRIZ \n \n";
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
cout<<"\t \t \t Valor en la posicion " <<"( "<<i <<" , ";
cout<<j <<" )"<<"\t";
cin>>mat[i][j];
}
}
//IMPRIME MATRIZ
cout<<"\n \t \t \t \t\tMATRIZ 5x5 \n \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t ";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
//Intercambia diagonales principales x secundaria
cout<<"\n\n\t \t \t \tIntercambio de diagonales \n \n";
k=5;
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
if (i==j)
{
aux=mat[i][k];
mat[i][k]=mat[i][j];
mat[i][j]=aux;
k--;
}
}
}
// IMPRIME MATRIZ RESULTANTE
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t ";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
getch();
}
5. Posición máximo y mínimo de una matriz
/* Dada una matriz A de 5 filas y 4 columnas, determinar el valor máximo y mínimo de la matriz,
indicando además las posiciones en las que se encuentran estos valores.*/
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a[5][4],i=4,j=3,mayor,men,p1,p2,p3,p4;
cout<<"\n \t \t Maximo, minimo y posiciones de una matriz\n \n ";
for(i=0;i<=4;i++)
{
for(j=0;j<=3;j++)
{
cout<<"\t \t \t Ingrese el valor ("<<i<<" "<<j<<") ";
cin>>a[i][j];
}
}
mayor=a[0][0];
p1=0;
p4=0;
men=a[0][0];
p2=0;
p3=0;
for(i=0;i<=4;i++)
{
for(j=0;j<=3;j++)
{
if(i!=0 && j!=0)
{
if(a[i][j]>mayor)
{
mayor=a[i][j];
p1=i;
p4=j;
}
if(a[i][j]<men)
{
men=a[i][j];
p2=i;
p3=j;
}
}
}
}
cout<<"\n \t \t \t El mayor es: " <<mayor;
cout<<"\n \t \t \t La posicion del mayor es: "<<p1 <<"," <<p4;
cout<<"\n\n \t \t \t El menor es: " << men;
cout<<"\n \t \t \tLa posicion del menor es: "<<p2 <<","<<p3;
cout<<"\n \n";
for(i=0;i<=4;i++)
{
cout<<"\n \t \t \t ";
for(j=0;j<=3;j++)
{
cout<<a[i][j]<<"\t";
}
}
getch();
}
6. Triangular Superior
/*Dada una matriz cuadrada A (5x5) colocar el número 0 en su triangular superior.*/
#include "iostream"
#include "conio.h"
using namespace std;
int main()
{
int mat[6][6];
int n,i,j;
cout<<"\n \t \t \t Coloca 0 en la Triangular Superior\n \n ";
for (i=1;i<=5;i++)
{
for (j=1;j<=5;j++)
{
cout<<"\t \t \t Valor en la posicion ("<<i<<" , "<<j<<") ";
cin>>mat[i][j];
}
}
//IMPRIME MATRIZ
cout<<"\n \t \t La matriz es: \n";
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
cout<<" \n \n Presione Enter para colocar el numero 0 en su triangular superior\n";
getch();
//Diagonal Superior con 0
for (i=1;i<=5;i++)
{
for (j=1;j<6;j++)
{
if(j>i)
{
mat[i][j]=0;
}
}
}
// matriz la triangular superior con el numero 0
cout<<" \n \t Colocado el numero 0 en su triangular superior la Matriz es:\n";
// IMPRIME MATRIZ CON RESULTADOS
for (i=1;i<=5;i++)
{
cout<<"\n \t \t \t";
for (j=1;j<=5;j++)
{
cout<<mat[i][j]<<"\t";
}
}
Suscribirse a:
Entradas (Atom)