miércoles, 27 de junio de 2012

9.1 Concurso de Baile (Ingreso de datos)

/* 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();
  }

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";
   }
 }