martes, 17 de mayo de 2011

Practica # 10.

Problema # 1.


Escriba un programa que lea el nombre de cuatro estudiantes y su cuatro calificaciones, además que calcule el promedio e indique si el alumno aprobó.


Pseudocodigo.


void nombres(caracter nom[10][25], real cal[10][5])
{entero i, a
real suma, prom
randomize()
for(i=0 to 10 step  i++)
{suma=0
print "Nombre alumno "(i+1)": "
cin.getline(nom[i], 25, '\n')
for(a=0 to 4 step  a++)
{cal[i][a]=(real)random(100)+1
suma=suma+cal[i][a]}
prom=suma/4
cal[i][4]=prom}
print endl}

void mostrar(caracter nom[10][25],  real cal[10][5])
{entero i, a
ofstream salida
salida.open("C://datos//cali.txt")
print "Alumnos                calificaciones            Promedio"endl
print "Alumnos                calificaciones            Promedio"endl
for(i=0 to 10 step  i++)
{print "#"(i+1)" -- "nom[i]"\t \t"
salida<<"#"(i+1)" -- "nom[i]"\t \t"
for(a=0 to 4 step a++)
{print cal[i][a]"    "
salida<<cal[i][a]"    "}
print cal[i][4]endl
salida<<cal[i][4]<<endl}
salida.close()
print endl}

void aprobados(caracter nom[10][25], real cal[10][5])
{entero i
ofstream salida
salida.open("C://datos//cali.txt", ios::app)
print "Alumnos Aprobados: "endl
salida<<endl
salida<<"Alumnos Aprobados: "endl
for(i=0 to 10 step i++)
{if(cal[i][4]>=70)
{print "#"<<(i+1)" "nom[i]"    "cal[i][4]endl
salida<<"#"<<(i+1)<<" "<<nom[i]<<"    "<<cal[i][4]<<endl;}}
salida.close()}

Inicio
{real cal[10][5]
caracter nom[10][25]
nombres(nom, cal)
mostrar(nom, cal)
aprobados(nom, cal)}


Codigo en C++.


#include <fstream.h>
#include <conio.h>
#include <stdlib.h>

void nombres(char nom[10][25], float cal[10][5])
{int i, a;
float suma, prom;
randomize();
for(i=0; i<10; i++)
{suma=0;
cout<<"Nombre alumno "<<(i+1)<<": ";
cin.getline(nom[i], 25, '\n');
for(a=0; a<4; a++)
{cal[i][a]=(float)random(100)+1;
suma=suma+cal[i][a];}
prom=suma/4;
cal[i][4]=prom;}
cout<<endl;}

void mostrar(char nom[10][25], float cal[10][5])
{int i, a;
ofstream salida;
salida.open("C://datos//cali.txt");
cout<<"Alumnos                calificaciones            Promedio"<<endl;
salida<<"Alumnos                calificaciones            Promedio"<<endl<<endl;
for(i=0; i<10; i++)
{cout<<"#"<<(i+1)<<" -- "<<nom[i]<<"\t \t";
salida<<"#"<<(i+1)<<" -- "<<nom[i]<<"\t \t";
for(a=0; a<4; a++)
{cout<<cal[i][a]<<"    ";
salida<<cal[i][a]<<"    ";}
cout<<cal[i][4]<<endl;
salida<<cal[i][4]<<endl;}
salida.close();
cout<<endl;}

void aprobados(char nom[10][25], float cal[10][5])
{int i;
ofstream salida;
salida.open("C://datos//cali.txt", ios::app);
cout<<"Alumnos Aprobados: "<<endl;
salida<<endl;
salida<<"Alumnos Aprobados: "<<endl;
for(i=0; i<10; i++)
{if(cal[i][4]>=70)
{cout<<"#"<<(i+1)<<" "<<nom[i]<<"    "<<cal[i][4]<<endl;
salida<<"#"<<(i+1)<<" "<<nom[i]<<"    "<<cal[i][4]<<endl;}}
salida.close();}

void main()
{float cal[10][5];
char nom[10][25];
nombres(nom, cal);
mostrar(nom, cal);
aprobados(nom, cal);
getch();}


Programa.
















-------------------------------------------------------------------------------------------------------------


Problema # 2.


Almacene los siguientes datos en un archivo:
5 96 87 78 93 21 4 92 82
83 87 6 72 69 85 75 81 73
escriba un programa para calcular y desplegar el promedio de cada grupo de números ene el archivo en el índice app de los datos.
Se han arreglado en el archivo para que cada grupo de números sea precedido por el número de elementos de datos del grupo.
Entonces el primer numero el archivo 5 indica que los siguientes cinco números se agrupan juntos y el numero cuatro igual y el 6 también.


Pseudocodigo.


Inicio
{real suma, N

real prom
real valor
fstream archivo
archivo.open("C://datos//datos.txt", ios::in | ios::out)
archivo<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"endl
archivo.close()
archivo.open("C://datos//datos.txt", ios::in | ios::out)
for(int i=1 to 3 step i++)
{
archivo>>N
suma=0
for(entero j=1 to N step j++)
{
archivo>>valor
suma=suma+valor
}
prom=suma/N
print "promedio: "prom endl;
}
archivo.close()
}


Codigo en C++.


#include <fstream.h>
#include <conio.h>

void main()
{
float suma, N;
float prom;
float valor;
fstream archivo;
archivo.open("C://datos//datos.txt", ios::in | ios::out);
archivo<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73"<<endl;
archivo.close();
archivo.open("C://datos//datos.txt", ios::in | ios::out);
for(int i=1; i<=3; i++)
{
archivo>>N;
suma=0;
for(int j=1; j<=N; j++)
{
archivo>>valor;
suma=suma+valor;
}
prom=suma/N;
cout<<"promedio: "<<prom<<endl;
}
archivo.close();
getch();
}


Programa.













-----------------------------------------------------------------------------------------------------------

Problema # 3.


escriba un archivo las siguientes cantidades de automóviles, el numero de millas recorridas y las cant de galones de gasolina empelado para cada auto
no de auto   millas reco     galones
54                       250        19
62                    525             38
71                  123             6
84                1322            86
97                 235             14

escriba un programa que lea los datos
 y despliegue la cantidad de automóviles, las millas recorridas y las millas por galón  para cada automóvil . Las salida debe contener además los totales de millas recorridas y el total de galones empleados, así como el promedio de millas por galón para todos los autos, dicho s totales deben desplegarse a la salida.



Pseudocodigo.


void creara()
{fstream archivo
archivo.open("C://datos//autos.txt", ios::out)
archivo<<"54    250    19"endl
archivo<<"62    525    38"endl
archivo<<"71    123    6"endl
archivo<<"85    1322    86"endl
archivo<<"97    235    14"endl
archivo.close()}

void leerarchivo(entero A[5][3])
{entero valor
fstream archivo
archivo.open("C://datos//autos.txt", ios::in)
for(entero i=0 to 5 step  i++)
{
for(entero j=0 to 3 step j++)
{
archivo>>valor
A[i][j]=valor
}
print endl
}}

void calculo(entero A[5][3], entero &total1, entero &total, entero &pt)
{
total1=0
total=0
for(entero j=1 to 3 step  j++)
{
for(entero i=0 to 5 step i++)
{
total=total+A[i][j]
}
if(j==1)
{
total1=total
total=0
}}
pt=total1/total
}

void millasgauto(entero A[5][3], entero MPG[5])
{
for(int i=0 to 5 step i++)
{
MPG[i]=A[i][1]/A[i][2]
}}


void reporte(entero A[5][3], entero MPG[5], entero total1, entero total, entero p)
{entero j, i
print "# De Carros    Millas Recorridas    Galones utilizados    Promedio millas por galon"endl
for(i=0 to 5 step i++)
{
for(j=0 to 3 step j++)
{
print A[i][j]"    "
}
print MPG[i]endl
}
print "Total Autos: 5"endl
print "Total millas: "total1 endl
print "Total galones: "total endl
print "Promedio: "p endl
}


Inicio
{entero millas, galones, PMG
entero MPG[5]
entro autos[5][3]
creara()
leerarchivo(autos)
calculo(autos, millas, galones, PMG)
print "millas= "millas"   galones= "galones"  promedio= "PMG, endl
millasgauto(autos, MPG)
reporte(autos, MPG, millas, galones, PMG)}


Codigo en C++.


#include <fstream.h>
#include <conio.h>

void creara()
{fstream archivo;
archivo.open("C://datos//autos.txt", ios::out);
archivo<<"54    250    19"<<endl;
archivo<<"62    525    38"<<endl;
archivo<<"71    123    6"<<endl;
archivo<<"85    1322    86"<<endl;
archivo<<"97    235    14"<<endl;
archivo.close();}

void leerarchivo(int A[5][3])
{int valor;
fstream archivo;
archivo.open("C://datos//autos.txt", ios::in);
for(int i=0; i<5; i++)
{
for(int j=0; j<3; j++)
{
archivo>>valor;
//cout<<valor<<"    ";
A[i][j]=valor;

}
//cout<<endl;
}}

void calculo(int A[5][3], int &total1, int &total, int &pt)
{
total1=0;
total=0;
for(int j=1; j<3; j++)
{
for(int i=0; i<5; i++)
{
total=total+A[i][j];
}
if(j==1)
{
total1=total;
total=0;
}}
pt=total1/total;
}

void millasgauto(int A[5][3], int MPG[5])
{
for(int i=0; i<5; i++)
{
MPG[i]=A[i][1]/A[i][2];
//cout<<MPG[i]<<"    ";
}}


void reporte(int A[5][3], int MPG[5], int total1, int total, int p)
{int j, i;
cout<<"# De Carros    Millas Recorridas    Galones utilizados    Promedio millas por galon"<<endl<<endl;
for(i=0; i<5; i++)
{
for(j=0; j<3; j++)
{
cout<<A[i][j]<<"    ";
}
cout<<MPG[i]<<endl;
}
cout<<"Total Autos: 5"<<endl;
cout<<"Total millas: "<<total1<<endl;
cout<<"Total galones: "<<total<<endl;
cout<<"Promedio: "<<p<<endl;
}


void main()
{int millas, galones, PMG;
int MPG[5];
int autos[5][3];
creara();
leerarchivo(autos);
calculo(autos, millas, galones, PMG);
cout<<"millas= "<<millas<<"   galones= "<<galones<<"  promedio= "<<PMG<<endl;
millasgauto(autos, MPG);
reporte(autos, MPG, millas, galones, PMG);
getch();}



Programa.





















-------------------------------------------------------------------------------------------------------------

Problema # 4. 

Un archivo llamado polar contiene las coordenadas polares necesarias en un programa de graficas, actualmente este archivo contiene los sig. Datos: Distancia Angulo
2 45
6 30
10 45
4 60
12 55
8 15

a) Escriba un prog. Que acepte del usuario distancia y Angulo y los agregue al final del archivo.
b) Escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt

Pseudocodigo.

void crear_Archivo()
{fstream archivo
archivo.open("C://datos//polar.txt", ios::binary | ios::out)
archivo<<2.0<<" "<<45.0<<" "endl
archivo<<6.0<<" "<<30.0<<" "endl
archivo<<10.0<<" "<<45.0<<" "endl
archivo<<4.0<<" "<<60.0<<" "endl
archivo<<12.0<<" "<<55.0<<" "endl
archivo<<8.0<<" "<<15.0<<" "endl
archivo.close()}

void agregar_dato()
{entero d1, angulo
caracter continuar
fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::app)
do
{
print "Distancia (pulgadas): "
read d1
print "Angulo (grados): "
read angulo
archivo<<d1<<" "<<angulo<<endl
print "Otro dato (S/N): "
read continuar}
while(continuar=='s'||continuar=='S')
archivo.close()}

void coordenadas()
{reales distancia, angulo, rad, x, y
fstream f1
fstream f2
f1.open("C://datos//polar.txt", ios::binary | ios::in)
f2.open("C://datos//xycord.txt", ios::binary | ios::out)
f1>>distancia
while(!f1.eof())
{
f1>>angulo
rad=(angulo*3.1416)/180.0
x=distancia*cos(rad)
y=distancia*sin(rad)
f2<<x<<" "<<y<<" "endl
f1>>distancia}
f1.close()
f2.close()}


void imprimearchivo()
{float x, y
fstream archivo
archivo.open("C://datos//xycord.txt", ios::binary | ios::in)
archivo>>x
while(!archivo.eof())
{
print x" ";
archivo>>y;
print y endl
archivo>>x;
}
archivo.close();
}

Inicio
{
crear_Archivo()
agregar_dato()
coordenadas()
imprimearchivo()}


Codigo en C++.

 #include <fstream.h>
#include <conio.h>
#include <math.h>

void crear_Archivo()
{fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::out);
archivo<<2.0<<" "<<45.0<<" "<<endl;
archivo<<6.0<<" "<<30.0<<" "<<endl;
archivo<<10.0<<" "<<45.0<<" "<<endl;
archivo<<4.0<<" "<<60.0<<" "<<endl;
archivo<<12.0<<" "<<55.0<<" "<<endl;
archivo<<8.0<<" "<<15.0<<" "<<endl;
archivo.close();}

void agregar_dato()
{int d1, angulo;
char continuar;
fstream archivo;
archivo.open("C://datos//polar.txt", ios::binary | ios::app);
do
{
cout<<"Distancia (pulgadas): ";
cin>>d1;
cout<<"Angulo (grados): ";
cin>>angulo;
archivo<<d1<<" "<<angulo<<endl;
cout<<"Otro dato (S/N): ";
cin>>continuar;}
while(continuar=='s'||continuar=='S');
archivo.close();}


void coordenadas()
{float distancia, angulo, rad, x, y;
fstream f1;
fstream f2;
f1.open("C://datos//polar.txt", ios::binary | ios::in);
f2.open("C://datos//xycord.txt", ios::binary | ios::out);
f1>>distancia;
while(!f1.eof())
{
f1>>angulo;
rad=(angulo*3.1416)/180.0;
x=distancia*cos(rad);
y=distancia*sin(rad);
f2<<x<<" "<<y<<" "<<endl;
f1>>distancia;}
f1.close();
f2.close();}


void imprimearchivo()
{float x, y;
fstream archivo;
archivo.open("C://datos//xycord.txt", ios::binary | ios::in);
archivo>>x;
while(!archivo.eof())
{
cout<<x<<" ";
archivo>>y;
cout<<y<<endl;
archivo>>x;
}
archivo.close();
}

void main()
{
crear_Archivo();
agregar_dato();
coordenadas();
imprimearchivo();
getch();
}


Programa.

















------------------------------------------------------------------------------------------------------------

Problema # 5.


Considere la siguiente lista de países y sus capitales.
Canadá                                Ottawa
Inglaterra                            Londres
Francia                                 Paris
India                                     Nueva Delhi
Israel                                    Jerusalén
Italia                                      Roma
Japón                                   Tokio
México                                Ciudad de México
China                                    Beijing
Estados Unidos                                Washington D.C
Rusia                                     Moscú
Escriba un programa interactivo que acepte el nombre de un país como entrada y escriba su capital y viceversa. Diseñar el programa de modo que se ejecute repetidamente hasta introducir fin.


 Pseudocodigo.

 bp(char p[12][20], char c[12][20])
{
char cap[20];
int i;
do
{
print"introduzca una capital"<<endl;
read cap;
if (cap!="fin")
{
for (i=0; to 12;step i=i+1)
{      strcmp(c[i],cap);
 if(strcmp(c[i],cap)==0)
 {
  print"pais :"<<(p[i])<<endl;
  }
}
}
}
while(cap!="fin");
}
void bc(char p[12][20], char c[12][20])
{
char pa[20];
int i;
do
{
print "introduzca un pais"<<endl;
read pa;
if (pa!="fin")
{
for (i=0;to 12;step i=i+1)
{      strcmp(p[i],pa);
 if(strcmp(p[i],pa)==0)
 {
  print"capital: "<<(c[i])<<endl;
  }
}
}
}
while(pa!="fin");
}
INICIO
{
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"};
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"};
int uno;
print"bucar capital o pais (1/2)"<<endl;
read uno;
switch(uno)
{
case 1:bc(p,c);
       break;
case 2:bp(p,c);
       break;
}



FIN

Codigo en c++.


#include<iostream.h>
#include<conio.h>
#include<string.h>

void bp(char p[12][20], char c[12][20])
{
char cap[20];
int i;
do
{
cout<<"introduzca una capital"<<endl;
cin>>cap;
if (cap!="fin")
{
for (i=0;i<12;i++)
{      strcmp(c[i],cap);
 if(strcmp(c[i],cap)==0)
 {
  cout<<"pais :"<<(p[i])<<endl;
  }
}
}
}
while(cap!="fin");
}
void bc(char p[12][20], char c[12][20])
{
char pa[20];
int i;
do
{
cout<<"introduzca un pais"<<endl;
cin>>pa;
if (pa!="fin")
{
for (i=0;i<12;i++)
{      strcmp(p[i],pa);
 if(strcmp(p[i],pa)==0)
 {
  cout<<"capital: "<<(c[i])<<endl;
  }
}
}
}
while(pa!="fin");
}
void main()
{
char p[12][20]={"canada","inglaterra","francia","india","israel","italia","japon","mexico","china","estados unidos","rusia"};
char c[12][20]={"ottawa","londres","paris","nueva delhi","jerusalem","roma","tokyo","ciudad de mexico","beijing","washington dc","moscu"};
int uno;
cout<<"bucar capital o pais (1/2)"<<endl;
cin>>uno;
switch(uno)
{
case 1:bc(p,c);
       break;
case 2:bp(p,c);
       break;
}



getch();
}


Programa.























----------------------------------------------------------------------------------------------------------

Problema # 6


-Una empresa tiene barios vendedores. Por cada vendedor se tiene el nombre y la venta que realizo elaborar un programa que permita leer dichos datos y proporcione un reporte de comisiones de ventas en el cual aparezcan todos los vendedores que tengan una venta mayor al nivel de comisión, nivel de comisión=3/4 * promedio de ventas, comisión=5% sobre el excedente de lo que vendió por arriba del nivel de comisión.


Pseudocodigo.


void intronombre(caracter nombre[50][25], entero& v, real& promv, real M[50])
{entero i=0, z, c1=0
real suma=0, venta, prom
print "Introduzca numero de vendedores: "
read v
for(i=0 to v step  i++)
{suma=0
cin.getline(nombre[i], 25)
print "Nombre "(i+1)": "
cin.getline(nombre[i], 25, '\n')
for(z=0 to 5 step z++)
{c1=c1+1
print "Venta "(z+1)": "
read venta
suma=suma+venta}
M[i]=suma
prom=suma+prom}
promv=prom/c1}

void sumatoria(caracter nombre[50][25], entero& v, real& promv, real M[50])
{entero i
real nivelcom=0, com
nivelcom=(3.0/4.0)*promv
com=nivelcom*0.5
for(i=0 to v step  i++)
{if(M[i]>(nivelcom+com))
{print nombre[i]"    "}
}}

Inicio
{char nombre[50][25]
entero v
real promv
real M[50]
intronombre(nombre, v, promv, M)
print endl
print "Vendedores que vendieron mas del nivel de comision "endl
sumatoria(nombre, v, promv, M)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>

void intronombre(char nombre[50][25], int& v, float& promv, float M[50])
{int i=0, z, c1=0;
float suma=0, venta, prom;
cout<<"Introduzca numero de vendedores: ";
cin>>v;
for(i=0; i<v; i++)
{suma=0;
cin.getline(nombre[i], 25);
cout<<"Nombre "<<(i+1)<<": ";
cin.getline(nombre[i], 25, '\n');
for(z=0; z<5; z++)
{c1=c1+1;
cout<<"Venta "<<(z+1)<<": ";
cin>>venta;
suma=suma+venta;}
M[i]=suma;
prom=suma+prom;}
promv=prom/c1;}

void sumatoria(char nombre[50][25], int& v, float& promv, float M[50])
{int i;
float nivelcom=0, com;
nivelcom=(3.0/4.0)*promv;
com=nivelcom*0.5;
for(i=0; i<v; i++)
{if(M[i]>(nivelcom+com))
{cout<<nombre[i]<<"    ";}
}}

void main()
{char nombre[50][25];
int v;
float promv;
float M[50];
intronombre(nombre, v, promv, M);
cout<<endl;
cout<<"Vendedores que vendieron mas del nivel de comision "<<endl;
sumatoria(nombre, v, promv, M);
getch();}

Programa.















------------------------------------------------------------------------------------------------------------

 Programa # 7

-Escriba un programa interactivo que simule el juego del bingo.
Escriba cada combinación de letra número según sea sacada (Generada). Asegurarse que una combinación no se saca más de una vez. Recordar que cada una de las letras de bingo corresponde a un cierto rango de números como se indica enseguida.
B: 1-15
I: 16-30
N: 31-45
G: 46-60
O: 61-75
Cada jugador tendrá una carta con 5 columnas etiquetadas bingo. Cada columna contendrá 5 números dentro de los rangos indicados. El primer jugador que tenga una línea de números en vertical, horizontal, diagonal de números gana.


 Pseudocodigo.


void generarnumeros(entero N[5][5])
{entero numero=0, numero1=0, numero2=0, numero3=0, numero4=0
randomize()
print "B    I    N    G    O    "endl
for(int i=0 to 5 step i++)
{
numero=random(15)+1
numero1=random(30-16)+16
numero2=random(45-31)+31
numero3=random(60-46)+46
numero4=random(75-61)+61

 N[i][0]=numero
 N[i][1]=numero1
 N[i][2]=numero2
 N[i][3]=numero3
 N[i][4]=numero4
}}


void generado(entero M[5][5])
{
randomize()
for(int i=0 to 5 step i++)
{
for(int z=0 to 5 step z++)
{
M[i][z]=random(75)+1
}}}


void gana(entero N[5][5], entero M[5][5])
{entero c=0
for(int i=0 to 5 step  i++)
{
for(int z=0 to 5 step z++)
{
if(N[i][z]==M[i][z]) //Horizontal
 {c=c+1}
}}
if(c>=5)
{print "Felicidades Usted Gano 1 000 000 de doll"endl;}
else
{print "Gracias por Participar pero no Gano"}
}


void mostrar(entero N[5][5])
{
print endl
for(entero i=0 to 5 step  i++)
{
for(entero z=0 to 5 step z++)
{
print N[i][z]"    "
}
print endl
}}



Inicio
{entero N[5][5]
entero M[5][5]
generarnumeros(N)
mostrar(N)
generado(M)
print endl
gana(N, M)}


Codigo en C++


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>


void generarnumeros(int N[5][5])
{int numero=0, numero1=0, numero2=0, numero3=0, numero4=0;
randomize();
cout<<"B    I    N    G    O    "<<endl<<endl;
for(int i=0; i<5; i++)
{
numero=random(15)+1;
numero1=random(30-16)+16;
numero2=random(45-31)+31;
numero3=random(60-46)+46;
numero4=random(75-61)+61;

 N[i][0]=numero;
 N[i][1]=numero1;
 N[i][2]=numero2;
 N[i][3]=numero3;
 N[i][4]=numero4;
}}


void generado(int M[5][5])
{
randomize();
for(int i=0; i<5; i++)
{
for(int z=0; z<5; z++)
{
M[i][z]=random(75)+1;
}}}


void gana(int N[5][5], int M[5][5])
{int c=0;
for(int i=0; i<5; i++)
{
for(int z=0; z<5; z++)
{
if(N[i][z]==M[i][z]) //Horizontal
 {c=c+1;}
}}
if(c>=5)
{cout<<"Felicidades Usted Gano 1 000 000 de doll"<<endl;}
else
{cout<<"Gracias por Participar pero no Gano";}
}


void mostrar(int N[5][5])
{
cout<<endl;
for(int i=0; i<5; i++)
{
for(int z=0; z<5; z++)
{
cout<<N[i][z]<<"    ";
}
cout<<endl;
}}



void main()
{int N[5][5];
int M[5][5];
generarnumeros(N);
mostrar(N);
generado(M);
cout<<endl;
gana(N, M);
getch();
}


Programa.






-----------------------------------------------------------------------------------------------------------

viernes, 8 de abril de 2011

PRACTICA # 9

Problema # 1.

Escriba un programa que permita que se introduscan nombres y les asigne una calificacion aleatoria, depsues muestre quienes son los alumnos que aprobaron con un promedio de 70 o mayor.


Pseudocodigo.

void introdatos(Real M[10][5])
{entero r, c
Real suma
randomize()
for(r=0 to 10 step  r++)
{suma=0
for(c=0 to 4 step c++)
{M[r][c]=(Real)random(100)+1
suma=suma+M[r][c]}
M[r][4]=suma/4}}
void imprimetabla(Real M[10][5], caracter nombre[10][25])
{entero r, c
print"Alumnos\t   1ro 2do 3ro 4to prom"
for(r=0 to 10 step r++)
{print"Alumno "(r+1)": "nombre[r]"\t"
for(c=0 to 5 step c++)
{print"M[r][c]"\t"}
}}
void intronombre(caracter nombre[10][25])
{entero i
for(i=0  to 10 step  i++)
{print"Nombre "(i+1)": "
read (nombre[i], 25, '\n')}}
void imprimeaprobados(Real M[10][5], caracter nombre[10][25])
{print"Listado de alumnos aprobados "
print"Nombre  Promedio"
for(entero I=0 to 10 step  I++)
{if(M[I][4]>=70)
{printnombre[I]"  "M[I][4]}}}
real promedio(float M[10][5])
{real prom
real suma=0
for(entero i=0 to 10 step i++)
{suma=suma+M[i][4]}
prom=suma/10
return prom}
real mayor(float M[10][5])
{float mayor1=0
for(entero i=0 to 10 step i++)
{if(M[i][4]>mayor1)
{mayor1=M[i][4]
}}
return mayor1}
Inicio
{caracter n[10][25]
real M[10][5]
introdatos(M)
intronombre(n)
imprimetabla(M, n)
imprimeaprobados(M, n)
print"Promedio General: "promedio(M)
print"Promedio mas alto: "mayor(M)}


Codigo en C++.

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>

void introdatos(float M[10][5])
{int r, c;
float suma;
randomize();
for(r=0; r<10; r++)
{suma=0;
for(c=0; c<4; c++)
{M[r][c]=(float)random(100)+1;
suma=suma+M[r][c];}
M[r][4]=suma/4;}}

void imprimetabla(float M[10][5], char nombre[10][25])
{int r, c;
cout<<"Alumnos\t 1ro 2do 3ro 4to prom"<<endl<<endl;
for(r=0; r<10; r++)
{cout<<"Alumno "<<(r+1)<<": "<<nombre[r]<<"\t";
for(c=0; c<5; c++)
{cout<<M[r][c]<<"\t";}
cout<<endl;}}

void intronombre(char nombre[10][25])
{int i;
for(i=0; i<10; i++)
{cout<<"Nombre "<<(i+1)<<": ";
cin.getline(nombre[i], 25, '\n');}}

void imprimeaprobados(float M[10][5], char nombre[10][25])
{cout<<"Listado de alumnos aprobados "<<endl<<endl;
cout<<"Nombre Promedio"<<endl;
for(int I=0; I<10; I++)
{if(M[I][4]>=70)
{cout<<nombre[I]<<" "<<M[I][4]<<endl;}}}
float promedio(float M[10][5])
{float prom;
float suma=0;
for(int i=0; i<10; i++)
{suma=suma+M[i][4];}
prom=suma/10;
return prom;}

float mayor(float M[10][5])
{float mayor1=0;
for(int i=0; i<10; i++)
{if(M[i][4]>mayor1)
{mayor1=M[i][4];
}}
return mayor1;}

void main()
{char n[10][25];
float M[10][5];
introdatos(M);
intronombre(n);
cout<<endl;
imprimetabla(M, n);
cout<<endl;
imprimeaprobados(M, n);
cout<<endl;
cout<<"Promedio General: "<<promedio(M)<<endl<<endl;
cout<<"Promedio mas alto: "<<mayor(M);
getch();}

Programa.




------------------------------------------------------------------------------------------------------------

Programa # 2.

un ingeniero elaboro un arreglo bidimensional de números reales con 3 renglones y 5 columnas. este arreglo contiene los voltajes de prueba obtenidos de un amplificador, escriba un programa que introduzca en forma interactiva 15 valores del arreglo y que determine el numero total cuyos rangos sean menores a 60, mayor igual a 60, x<70,x>=70,x<80,x>=80,x<=90,mayor a 90.

Pseudocodigo.

void introdatos(real M[3][5])
{entero co=0
for(entero r=0 to 3 step  r++)
{for(int c=0 to 5 step c++)
{co=co+1
print"Voltaje "(co)": "
read M[r][c]}}}

void rangos(real M[3][5], entero& c1, entero& c2, entero& c3, entero& c4, entero& c5)
{for(entero r=0 to 3 step r++)
{ for(entero c=0 to 5 step c++)
{if(M[r][c]<60)
{c1=c1+1}
if(M[r][c]>=60 && M[r][c]<70)
{c2=c2+1}
if(M[r][c]>=70 && M[r][c]<80)
{c3=c3+1}
if(M[r][c]>=80 && M[r][c]<90)
{c4=c4+1}
if(M[r][c]>=90)
{c5=c5+1}}}}

void mostrar(float M[3][5])
{ entero c1=0, c2=0, c3=0, c4=0, c5=0
print" Matriz "
for(entero r=0 to 3 step r++)
{for(entero c=0 to 5 step c++)
{print M[r][c]<<" "}}
rangos(M, c1, c2, c3, c4, c5)
print"Menores a 60: "c1
print"Iguales o mayores a 60 pero menores de 70: "c2
print"Iguales o mayores de 70 pero menores a 80: "c3
print"Iguales o mayores a 80 pero menores de 90: "c4
print"Mayores o iguales a 90: "c5}

Inicio
{real M[3][5]
introdatos(M)
mostrar(M)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>

void introdatos(float M[3][5])
{int co=0;
for(int r=0; r<3; r++)
{for(int c=0; c<5; c++)
{co=co+1;
cout<<"Voltaje "<<(co)<<": ";
cin>>M[r][c];}}}

void rangos(float M[3][5], int& c1, int& c2, int& c3, int& c4, int& c5)
{for(int r=0; r<3; r++)
{ for(int c=0; c<5; c++)
{if(M[r][c]<60)
{c1=c1+1;}
if(M[r][c]>=60 && M[r][c]<70)
{c2=c2+1;}
if(M[r][c]>=70 && M[r][c]<80)
{c3=c3+1;}
if(M[r][c]>=80 && M[r][c]<90)
{c4=c4+1;}
if(M[r][c]>=90)
{c5=c5+1;}}}}

void mostrar(float M[3][5])
{ int c1=0, c2=0, c3=0, c4=0, c5=0;
cout<<endl;
cout<<" Matriz "<<endl;
for(int r=0; r<3; r++)
{cout<<endl;
for(int c=0; c<5; c++)
{cout<<M[r][c]<<" ";}}
cout<<endl;
rangos(M, c1, c2, c3, c4, c5);
cout<<endl;
cout<<"Menores a 60: "<<c1<<endl;
cout<<"Iguales o mayores a 60 pero menores de 70: "<<c2<<endl;
cout<<"Iguales o mayores de 70 pero menores a 80: "<<c3<<endl;
cout<<"Iguales o mayores a 80 pero menores de 90: "<<c4<<endl;
cout<<"Mayores o iguales a 90: "<<c5<<endl;}

void main()
{float M[3][5];
introdatos(M);
mostrar(M);
getch();}

Programa




-----------------------------------------------------------------------------------------------------------

Problema #3

escriba un programa que sume los elementos equiparables de los arreglos bidimensionales denominados primero y segundo. Ambos arreglos deben de tener m renglones y n columnas. Por ejemplo los elementos 1 y 2 [1][2] del arreglo resulte deben ser la suma del primero y segundo ,los arreglos primero y segundo deben inicializarse con números aleatorios. el valor de m y n defínalo con un valor constante.


Pseudocodigo.

const int m=2
const int n=3

void primero(entero A[m][n])
{entero a,b
randomize()
print"Matriz A: "
for(a=0 to m step a=a+1)
{for(b=0 to n step b=b+1)
{A[a][b]=random(100)+1
print A[a][b]" "}}}

void segundo(entero B[m][n])
{entero c, d
randomize()
print "Matriz B: "
for(c=0 to m step c=c+1)
{for(d=0 to n step d=d+1)
{B[c][d]=random(250)+1
print B[c][d]" "}}}

void sumar(entero A[m][n], entero B[m][n], entero C[m][n])
{entero a,b
for(a=0  to mstep  a=a+1)
for(b=0 to n step b=b+1)
{C[a][b]=A[a][b]+B[a][b]}}

void imprimedatos(entero C[m][n])
{entero a,b
print "Suma: "
for(a=0 to m step a=a+1)
{for(b=0 to n step b=b+1)
{print C[a][b]"\t"}}}

Inicio
{entero A[m][n],B[m][n],C[m][n]
primero(A)
segundo(B)
sumar(A, B, C)
imprimedatos(C)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

const int m=2;
const int n=3;

void primero(int A[m][n])
{int a,b;
randomize();
cout<<"Matriz A: "<<endl;
for(a=0;a<m;a=a+1)
{cout<<endl;
for(b=0;b<n;b=b+1)
{A[a][b]=random(100)+1;
cout<<A[a][b]<<" ";}}}

void segundo(int B[m][n])
{int c, d;
randomize();
cout<<endl<<endl;
cout<<"Matriz B: "<<endl;
for(c=0;c<m;c=c+1)
{cout<<endl;
for(d=0;d<n;d=d+1)
{B[c][d]=random(250)+1;
cout<<B[c][d]<<" ";}}}

void sumar(int A[m][n], int B[m][n], int C[m][n])
{int a,b;
for(a=0;a<m;a=a+1)
for(b=0;b<n;b=b+1)
{C[a][b]=A[a][b]+B[a][b];}}

void imprimedatos(int C[m][n])
{int a,b;
cout<<endl<<endl;
cout<<"Suma: "<<endl<<endl;
for(a=0;a<m;a=a+1)
{for(b=0;b<n;b=b+1)
{cout<<C[a][b]<<"\t";}
cout<<endl;}}

void main ()
{int A[m][n],B[m][n],C[m][n];
primero(A);
segundo(B);
sumar(A, B, C);
imprimedatos(C);
getch();}

Programa.







-------------------------------------------------------------------------------------------------------------
Problema # 4

Escriba un programa que encuentre y despliegue el valor máximo en un arreglo bidimensional en números enteros. El arreglo debe declararse de 4 por 5 en números enteros, despliegue los números subíndices del renglón i columna que correspondan al valor máximo.


Pseudocodigo.

void maximo(entero A[4][5], entero& max, entero& posr, entero& posc)
{entero r, c
max=A[0][0]
posr=0
posc=0
for(r=0  to 4 step  r++)
{
for(c=0 to 5 step c++)
{
if(A[r][c]>max)
{
max=A[r][c]
  posr=r
  posc=c
  }
}
}}

void introdatos(entero A[4][5])
{randomize()
for(int r=0 to 4 step r++)
{
for(int c=0 to 5 step c++)
{A[r][c]=random(1000)+1}
}}

void imprimedatos(entero A[4][5])
{print "Listado de la matriz "
for(entero r=0 to 4 step r++)
{
for(entero c=0 to 5 step c++)
{print A[r][c]"\t"}}}

Inicio
{entero A[4][5]
entero posc, posr, max
introdatos(A)
imprimedatos(A)
maximo(A, max, posr, posc)
print "Numero maximo: "max
print "Renglon:"<<posr+1
print "Columna:"<<posc+1}


Codigo C++.

#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void maximo(int A[4][5], int& max, int& posr, int& posc)
{int r, c;
max=A[0][0];
posr=0;
posc=0;
for(r=0; r<4; r++)
{
for(c=0; c<5; c++)
{
if(A[r][c]>max)
{
max=A[r][c];
posr=r;
posc=c;
}
}
}}

void introdatos(int A[4][5])
{randomize();
for(int r=0; r<4; r++)
{
for(int c=0; c<5; c++)
{A[r][c]=random(1000)+1;}
}}

void imprimedatos(int A[4][5])
{cout<<"Listado de la matriz "<<endl;
for(int r=0; r<4; r++)
{
for(int c=0; c<5; c++)
{cout<<A[r][c]<<"\t";}
cout<<endl;}}

void main()
{int A[4][5];
int posc, posr, max;
introdatos(A);
imprimedatos(A);
maximo(A, max, posr, posc);
cout<<endl;
cout<<"Numero maximo: "<<max<<endl<<endl;
cout<<"Renglon:"<<posr+1<<endl<<endl;
cout<<"Columna:"<<posc+1<<endl<<endl;
getch();
}


 Programa.






------------------------------------------------------------------------------------------------------------

problema # 5

un examne final tiene 100 preguntas de eleccio multiple, cada pregunta tiene 5 respuestas a elegir de las cuales solo una escorresta y la informacion concerniente al estudiante puede representarse con "respuesta"(aqui se almacenan las respuestas correctas), "score"(aqui se almacenan las respuestas dadas por los estudiantes)y "name" almacena el nombre de los estudiantes. Las respuestas se codifican entre 1 y 5, cuando se indico mas de una resouesta, esta se representa con 6 .
diseñe u programa cuyas salidas sean los nombres de los estudiantes que aprobaron el examne, se requiere una calificacion minima de 70 para aprobar

Pseudocodigo.


void respuestas(entero resp[100])
{randomize()
for(int i=0 to 100 step i++)
{resp[i]=random(6)+1}}

void score(entero N, entero sc[50][100])
{randomize()
for(entero r=0 to N step  r++)
{for(entero c=0 to 100 step c++)
{sc[r][c]=random(6)+1}}}

void name(entero N, caracter NA[50][30])
{for(entero i=0 to N step i++)
{print "Nombre "(i+1)": "
read (NA[i], 30, '\n')
if(i==0)
{read (NA[i], 30, '\n')}}}

void evaluar(entero N, entero resp[100], entero sc[50][100], caracter NA[50][30])
{float suma=0
for(int r=0 to N step  r++)
{suma=0
for(entero c=0 to 100 step  c++)
{ if(resp[c]==sc[r][c])
{ suma=suma+1}}
if(suma>=70)
{print NA[r]}}}

Inicio
{entero R[100], S[50][100]
caracter ni[50][30]
entero x
do
{print "Cantidad de alumnos a Evaluar: "
print x}
while(x<=0 || x>50)
respuestas(R)
score(x, S)
name(x, ni)
print "Listado de Alumnos Aprobados: "
evaluar(x, R, S, ni)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>

void respuestas(int resp[100])
{randomize();
for(int i=0; i<100; i++)
{resp[i]=random(6)+1;}}

void score(int N, int sc[50][100])
{randomize();
for(int r=0; r<N; r++)
{for(int c=0; c<100; c++)
{sc[r][c]=random(6)+1;}}}

void name(int N, char NA[50][30])
{for(int i=0; i<N; i++)
{cout<<"Nombre "<<(i+1)<<": ";
cin.getline(NA[i], 30, '\n');
if(i==0)
{cin.getline(NA[i], 30, '\n');}}}

void evaluar(int N, int resp[100], int sc[50][100], char NA[50][30])
{float suma=0;
for(int r=0; r<N; r++)
{suma=0;
for(int c=0; c<100; c++)
{ if(resp[c]==sc[r][c])
{ suma=suma+1;}}
if(suma>=70)
{cout<<NA[r]<<endl;}}}

void main()
{int R[100], S[50][100];
char ni[50][30];
int x;
do
{cout<<"Cantidad de alumnos a Evaluar: ";
cin>>x;}
while(x<=0 || x>50);
respuestas(R);
score(x, S);
name(x, ni);
cout<<"Listado de Alumnos Aprobados: "<<endl<<endl;
evaluar(x, R, S, ni);
getch();}

Programa.







-------------------------------------------------------------------------------------------------------------


Problema #6


Una campaña de manufactura tiene 12 plantas. elaborar un programa que permita leer el nombre de cada planta y la produccion que se hizo en cada uno de los 7 dias de la semana; utilizar un arreglo de 1 dimensionpara leer los nombres de las plantas y un arreglo de 2 dimensiones (12 x 7 ) para leer la produccion de las 12 plantas en los 7 dias ,la idea es leerel nombre de la planta y luego la produccion hecha en cada dia , imprimir el reporte


Pseudocodigo.


void produccion(real prod[12][7], caracter planta[12][20])
{real suma=0
for(entero r=0 to 12 step  r++)
{suma=0
print "Planta "(r+1)
print "Nombre: "
leer (planta[r], 25, '\n');
for(entero c=0 to 7 step c++)
{print "Dia "(c+1)": "
leer prod[r][c]
suma=suma+prod[r][c]}
print "Promedio: "(suma/7)
leer (planta[r], 25, '\n')}}


void prodt(real prod[12][7], real total[12])
{real suma
for(entero r=0 to 12 step  r++)
{suma=0
for(entero c=0 to 7 step  c++)
{suma=suma+prod[r][c]}
total[r]=suma}}


void prodia(real prod[12][7], real totaldia[7])
{real suma
for(entero c=0 to 7 step c++)
{suma=0
for(entero r=0 to 12 step  r++)
{suma=suma+prod[r][c]}
totaldia[c]=suma}}


void mayorprod(real total[12], real & mayor, real & p)
{mayor=total[0]
p=0
for(entero i=0 to 12 step i++)
{if(total[i]>mayor)
{mayor=total[i]
p=i}}}


Inicio
{float mayor, p
float total[12]
float prod[12][7]
float totaldia[7]
char planta[12][20]
produccion(prod, planta)
prodt(prod, total)
prodia(prod, totaldia)
mayorprod(total, mayor, p)
print "Planta con mayor Produccion: "(p+1)
print "Produccion Mayor: "mayor}


Codigo en C++.




#include <iostream.h>
#include <conio.h>

void produccion(float prod[12][7], char planta[12][20])
{float suma=0;
for(int r=0; r<12; r++)
{suma=0;
cout<<"Planta "<<(r+1)<<endl;
cout<<"Nombre: ";
cin.getline(planta[r], 25, '\n');
for(int c=0; c<7; c++)
{cout<<"Dia "<<(c+1)<<": ";
cin>>prod[r][c];
suma=suma+prod[r][c];}
cout<<"Promedio: "<<(suma/7)<<endl;
cin.getline(planta[r], 25, '\n');}}


void prodt(float prod[12][7], float total[12])
{float suma;
for(int r=0; r<12; r++)
{suma=0;
for(int c=0; c<7; c++)
{suma=suma+prod[r][c];}
total[r]=suma;}}


void prodia(float prod[12][7], float totaldia[7])
{float suma;
for(int c=0; c<7; c++)
{suma=0;
for(int r=0; r<12; r++)
{suma=suma+prod[r][c];}
totaldia[c]=suma;}}


void mayorprod(float total[12], float & mayor, float & p)
{mayor=total[0];
p=0;
for(int i=0; i<12; i++)
{if(total[i]>mayor)
{mayor=total[i];
p=i;}}}


void main()
{float mayor, p;
float total[12];
float prod[12][7];
float totaldia[7];
char planta[12][20];
produccion(prod, planta);
prodt(prod, total);
prodia(prod, totaldia);
mayorprod(total, mayor, p);
cout<<"Planta con mayor Produccion: "<<(p+1)<<endl;
cout<<"Produccion Mayor: "<<mayor<<endl;
getch();}


Programa.

































































------------------------------------------------------------------------------------------------------------

Problema # 7.

Elaborar un programa que lea el nombre de los trabajadores y su produccion mensual por cada mes del año se requiere el siguiente reporte.


Pseudocodigo.


void introdatos(entero produccion[10][13], caracter nombres[10][25])
{real suma=0
entero i
for(entero i=0 to 10 step  i++)
{
suma=0
print "Nombre "(i+1)": "
read (nombres[i], 25, '\n')
for(entero j=0 to 12 step j++)
{
print "Dato "(i+1)"y "(j+1)": "
read produccion[i][j]
suma=suma+produccion[i][j]}
produccion[i][12]=suma
read (nombres[15], 25)
}}


void mostrar(entero produccion[10][13], caracter nombres[10][25])
{entero I
real promedio=0
print "Nombres: total de produccion:"
for(I=0 to 10 step  I++)
{ print nombres[I]"  "
print produccion[I][12]
promedio=promedio+produccion[I][12]
}
print "PROMEDIO:   "
print (promedio/10)
}

Inicio
{entero produccion[10][13]
caracter n[10][25]
introdatos(produccion, n)
mostrar(produccion, n)}


Codigo en C++.

#include <iostream.h>
#include <conio.h>
void introdatos(int produccion[10][13], char nombres[10][25])
{float suma=0;
int i;
for(int i=0; i<10; i++)
{
suma=0;
cout<<"Nombre "<<(i+1)<<": ";
cin.getline(nombres[i], 25, '\n');
for(int j=0; j<12; j++)
{
cout<<"Dato "<<(i+1)<<"y "<<(j+1)<<": ";
cin>>produccion[i][j];
suma=suma+produccion[i][j];}
produccion[i][12]=suma;
cin.getline(nombres[15], 25);
}}


void mostrar(int produccion[10][13], char nombres[10][25])
{int I;
float promedio=0;
cout<<"Nombres: total de produccion:"<<endl;
for(I=0; I<10; I++)
{cout<<nombres[I]<<"  ";
cout<<produccion[I][12]<<endl;
promedio=promedio+produccion[I][12];
}
cout<<endl;
cout<<"PROMEDIO:   ";
cout<<(promedio/10);
}

void main()
{int produccion[10][13];
char n[10][25];
introdatos(produccion, n);
mostrar(produccion, n);
getch();}


Programa.






































































-----------------------------------------------------------------------------------------------------------


Problema #8
Una matriz es nula si todos sus elementos son iguales a cero, elaborar un programa que lea una matriz de numeros de (5 x 4) e indique si la matriz es nula o no.


Pseudocodigo.


void leer(entero n[5][4])
{entero r, c, suma=0
for(r=0 to 5 step r++)
{for(c=0 to 4 step c++)
{print "Introduzca Numero: "
 read n[r][c]
if(n[r][c]==0)
{suma=suma+1}}}
if(suma==20)
{print "Es nula"}
else
{print "No es nula"}}

Inicio
{entero n[5][4]
leer(n)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>
void leer(int n[5][4])
{int r, c, suma=0;
for(r=0; r<5; r++)
{for(c=0; c<4; c++)
{cout<<"Introduzca Numero: ";
cin>>n[r][c];
if(n[r][c]==0)
{suma=suma+1;}}}
if(suma==20)
{cout<<"Es nula"<<endl;}
else
{cout<<"No es nula"<<endl;}}

void main()
{int n[5][4];
leer(n);
getch();
}


Programa.
















------------------------------------------------------------------------------------------------------------

Problema #9

Generar una matriz de (10 x 10) ,con ceros en los elementos en la diagonal principal; a los demas colocar un 1 e imprimirlo




Pseudocodigo.

void mat(entero m[10][10])
{entero i, j
for(i=0 to 10 step  i++)
{for(j=0 to 10 step  j++)
if(i==j)
{m[i][j]=0}
else
{m[i][j]=1}}
}

void mostrar(entero m[10][10])
{
print "Tabla"
for(entero c=0 to 10 step c++)
{
for(entero r=0 to 10 step r++)
{
print m[c][r]" "}}}

Inicio
{entero m[10][10]
mat(m)
mostrar(m)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>
void mat(int m[10][10])
{int i,j;
for(i=0; i<10; i++)
{for(j=0; j<10; j++)
if(i==j)
{m[i][j]=0;}
else
{m[i][j]=1;}}
}

void mostrar(int m[10][10])
{
cout<<"Tabla"<<endl<<endl;
for(int c=0; c<10; c++)
{
for(int r=0; r<10; r++)
{
cout<<m[c][r]<<" ";}}}

void main()
{int m[10][10];
mat(m);
mostrar(m);
getch();
}



Programa.
























--------------------------------------------------------------------------------------------------------





Problema # 10.


Elaborar un programa que permita leer una matriz de (5 x 6) ,que la imprima , y que imprima la sumatoria por renglones y por columnas ,utilizando un arreglo unidimensional para obtener la sumatoria de todos los renglones y otro de 1 dimension para calcular la sumatoria de todas las columnas, imprimir el mayor .


Pseudocodigo.


void matriz(entero a[5][6])
{for(entero c=0 to 5 step c++)
{for(entero r=0 to 6 step r++)
{print "Introduzca Dato: "
read a[c][r]}}}

void sumatoriac(entero a[5][6], entero suma[5])
{entero sumar
for(entero c=0 to 5 step c++)
{sumar=0
for(entero r=0 to 6 step r++)
{sumar=sumar+a[c][r]}
suma[c]=sumar}}

void sumatoriar(entero a[5][6], entero sumec[6])
{entero sumer
for(entero r=0 to 6 step r++)
{sumer=0
for(entero c=0 to 5 step c++)
{sumer=sumer+a[c][r]}
sumec[r]=sumer}}

void mayor(entero a[5][6], entero& maximo, entero& posicionr, entero& posicionc)
{maximo=0
for(entero c=0 to 5 step c++)
{for(int r=0 to 6 step r++)
{if(a[c][r]>maximo)
{maximo=a[c][r]
posicionc=c
posicionr=r}}}}

void mostrar(entero a[5][6], entero suma[5], entero sumec[6], entero maximo, entero posicionr, entero posicionc)
{print  "    Matriz                          suma de renglon "
for(entero c=0 to 5 step c++)
{for(entero r=0 to 6 step r++)
{print a[c][r]"    "}
print "--- "suma[c]}
for(entero r=0 to 6 step r++)
{print sumec[r]"    "}
print "---- Suma de las columnas "
print "Dato mayor: "maximo
print "En el renglon: "(posicionc+1)" y la columna: "(posicionr+1)}

Inicio
{entero a[5][6],suma[5],sumec[6],maximo,posicionr,posicionc
print "Introduzca datos para la matriz "
matriz(a)
sumatoriac(a, suma)
sumatoriar(a, sumec)
mayor(a, maximo, posicionr, posicionc)
mostrar(a, suma, sumec, maximo, posicionr, posicionc)}


Codigo en C++.


#include <iostream.h>
#include <conio.h>

void matriz(int a[5][6])
{for(int c=0; c<5; c++)
{for(int r=0; r<6; r++)
{cout<<"Introduzca Dato: ";
cin>>a[c][r];}}}

void sumatoriac(int a[5][6], int suma[5])
{int sumar;
for(int c=0; c<5; c++)
{sumar=0;
for(int r=0; r<6; r++)
{sumar=sumar+a[c][r];}
suma[c]=sumar;}} //Suma de los renglones.

void sumatoriar(int a[5][6], int sumec[6])
{int sumer;
for(int r=0; r<6; r++)
{sumer=0;
for(int c=0; c<5; c++)
{sumer=sumer+a[c][r];}
sumec[r]=sumer;}}

void mayor(int a[5][6], int& maximo, int& posicionr, int& posicionc)
{maximo=0;
for(int c=0; c<5; c++)
{for(int r=0; r<6; r++)
{if(a[c][r]>maximo)
{maximo=a[c][r];
posicionc=c;
posicionr=r;}}}}

void mostrar(int a[5][6], int suma[5], int sumec[6], int maximo, int posicionr, int posicionc)
{cout<<endl;
cout<<" Matriz suma de renglon ";
cout<<endl;
for(int c=0; c<5; c++)
{cout<<endl;
for(int r=0; r<6; r++)
{cout<<a[c][r]<<" ";}
cout<<"--- "<<suma[c];}
cout<<endl<<endl;
for(int r=0; r<6; r++)
{cout<<sumec[r]<<" ";}
cout<<"---- Suma de las columnas "<<endl<<endl;
cout<<"Dato mayor: "<<maximo<<endl;
cout<<"En el renglon: "<<(posicionc+1)<<" y la columna: "<<(posicionr+1)<<endl;}

void main()
{int a[5][6],suma[5],sumec[6],maximo,posicionr,posicionc;
cout<<"Introduzca datos para la matriz "<<endl;
matriz(a);
sumatoriac(a, suma);
sumatoriar(a, sumec);
mayor(a, maximo, posicionr, posicionc);
mostrar(a, suma, sumec, maximo, posicionr, posicionc);
getch();}


Programa.






















------------------------------------------------------------------------------------------------------------------------


Problema # 11.



Elaborar un programa que permita leer números para una matriz “A” de 6 por 4, lo propio para una matriz “B”, que las imprima, indique si la matriz A es mayor que la matriz B para que la matriz A sea mayor que B, para cada elemento A[i][j] debe ser por lo menos igual a cada elemento B y j correspondiente, y debe existir al menos un A[i][j] mayor que su correspondiente B[i][j] en caso contrario A no es mayor que B.



Pseudocodigo.



void generardatos(entero A[6][4], entero B[6][4])
{randomize()
for(entero i=0 to 6 step  i++)
{for(entero j=0 to 4 step j++)
{A[i][j]=random(1000)+1
B[i][j]=random(1000)+1
}}}

void imprimematriz(entero M[6][4])
{
for(entero i=0 to 6 step  i++)
{
for(entero j=0 to 4 step j++)
{print M[i][j]" "}
print fin de linea}}


entero mayormatrices(entero A[6][4], entero B[6][4])
{entero c1=0
for(entero i=0 to 6 step  i++)
{for(entero j=0 to 4 step j++)
{if(A[i][j]>B[i][j])
{c1=c1+1}
}return c1}}

Inicio
{
entero A[6][4]
entero B[6][4]
int c=0
generardatos(A, B)
print "Matriz A " fin de linea
imprimematriz(A)
print fin de linea
print "Matriz B " fin de linea
imprimematriz(B)
c=mayormatrices(A, B)
if(c>0)
{print fin de linea
print "La matriz A es mayor "}
else
{print fin de linea
print "La matriz A no es mayor " fin de linea}
}


Codigo en C++.



#include <iostream.h>

#include <conio.h>

#include <stdlib.h>




void generardatos(int A[6][4], int B[6][4])

{randomize();

for(int i=0; i<6; i++)

{for(int j=0; j<4; j++)

{A[i][j]=random(1000)+1;

B[i][j]=random(1000)+1;

}}}




void imprimematriz(int M[6][4])

{

for(int i=0; i<6; i++)

{

for(int j=0; j<4; j++)

{cout<<M[i][j]<<" ";}

cout<<endl;}}







int mayormatrices(int A[6][4], int B[6][4])

{int c1=0;

for(int i=0; i<6; i++)

{for(int j=0; j<4; j++)

{if(A[i][j]>B[i][j])

{c1=c1+1;}

}return c1;}}




void main()

{

int A[6][4];

int B[6][4];

int c=0;

generardatos(A, B);

cout<<"Matriz A "<<endl<<endl;

imprimematriz(A);

cout<<endl;

cout<<"Matriz B "<<endl<<endl;

imprimematriz(B);

c=mayormatrices(A, B);

if(c>0)

{cout<<endl;

cout<<"La matriz A es mayor "<<endl;}

else

{cout<<endl;

cout<<"La matriz A no es mayor "<<endl;}

getch();

}



Programa.






--------------------------------------------------------------------------------------------------------------------------

Problema # 12.


A) Escriba un programa que crea un archivo texto llamado puntos y que escriba los siguientes números en el archivo
6.3     8.2     18.25     24.32
4.0     4.0     10.0       -5.0
-2.0    5.0     4.0         5.0

B) Utilizando los datos de (a) escriba un programa que lea cada registro (cada fila) e interprete en cada uno de ellos el 1er y 2do numero en registro como coordenadas de un punto y 3er y 4to como un 2do punto haga que calcule y muestre la pendiente y punto medio de los 2 números introducidos.


Pseudocodigo A).

Inicio
{
ofstream salida;
salida.open("C://datos//puntos.txt")
salida<<"6.3    8.2    18.25    24.32"
salida<<"4.0    4.0    10.0    -5.0"
salida<<"2.0    5.0    4.0    5.0"
print "6.3    8.2    18.25    24.32"
print "4.0    4.0    10.0    -5.0"
print "2.0    5.0    4.0    5.0"
print "Almacenados en el archivo puntos.txt"
}

Pseudocodigo B)


Inicio
{real pendiente
entero c=0
ifstream entrada
entrada.open("C://datos//puntos.txt")
real M[3][4]
entero i, j
print "X1    Y1    X2    Y2"fin de linea
for(i=0 to 3 step i++)
{for(j=0 to 4 step  j++)
{entrada>>M[i][j]
print M[i][j]"    "}
print fin de linea}
for(entero i=0 to 3 step i++)
{pendiente=(M[i][3]-M[i][1])/(M[i][2]-M[i][0])
print "Pendiente "(i+1)": "pendiente, fin de linea}}



 Codigo en C++ A)

#include <fstream.h>
#include <conio.h>

void main()
{
ofstream salida;
salida.open("C://datos//puntos.txt");
salida<<"6.3    8.2    18.25    24.32"<<endl;
salida<<"4.0    4.0    10.0    -5.0"<<endl;
salida<<"2.0    5.0    4.0    5.0"<<endl;
cout<<"6.3    8.2    18.25    24.32"<<endl;
cout<<"4.0    4.0    10.0    -5.0"<<endl;
cout<<"2.0    5.0    4.0    5.0"<<endl<<endl;
cout<<"Almacenados en el archivo puntos.txt"<<endl;
getch();
}



 Codigo en C++. B)

#include <fstream.h>
#include <conio.h>

void main()
{float pendiente;
int c=0;
ifstream entrada;
entrada.open("C://datos//puntos.txt");
float M[3][4];
int i, j;
cout<<"X1 Y1 X2 Y2"<<endl<<endl;
for(i=0; i<3; i++)
{for(j=0; j<4; j++)
{entrada>>M[i][j];
cout<<M[i][j]<<" ";}
cout<<endl<<endl;}
for(int i=0; i<3; i++)
{pendiente=(M[i][3]-M[i][1])/(M[i][2]-M[i][0]);
cout<<"Pendiente "<<(i+1)<<": "<<pendiente<<endl;}
getch();} 


Programa A) y B).










---------------------------------------------------------------------------------------------------------------------------


Problema # 13.

A) Escriba un programa que pueda crear un archivo llamado Voltios y escriba los sig. datos.

 120.3       122.7        90.7       99.8
95.3          120.5        127.3     120.8
123.2        118.4        123.8     115.6
122.4        95.6          118.2      120.0
123.5        130.2        123.9      124.4

 B)Con base al archivo voltios escriba un programa que lea cada registro en el archivo y calcule y despliegue el promedio de cada registro.


 Pseudocodigo.


Inicio
{
ofstream salida
salida.open("C://datos//voltios.txt");
salida"120.3    122.7    90.3    99.8"
salida"95.3    120.5    127.3    120.8"
salida"123.2    118.4    123.8    115.6"
salida"122.4    95.6    118.2    120.0"
salida"123.5    130.2    123.9    124.4"
print "Datos de Salida: "
print "120.3    122.7    90.3    99.8"
print "95.3    120.5    127.3    120.8"
print "123.2    118.4    123.8    115.6"
print "122.4    95.6    118.2    120.0"
print "123.5    130.2    123.9    124.4"}



Inicio
{real promedio, suma
ifstream entrada
entrada.open("C://datos//voltios.txt")
real M[5][4]
entero i, j
for(i=0 to 5 step i++)
{for(j=0 to 4 step j++)
{entrada>>M[i][j]
print M[i][j]"    "}}
for(entero i=0 to 5 step  i++)
{
for(entero j=0 to 4 step  j++)
{
suma=suma+M[i][j]
}}
promedio=suma/20
print "Promedio: " ": "promedio}


Codigo en C++.


#include <fstream.h>
#include <conio.h>

void main()
{
ofstream salida;
salida.open("C://datos//voltios.txt");
salida<<"120.3    122.7    90.3    99.8"<<endl;
salida<<"95.3    120.5    127.3    120.8"<<endl;
salida<<"123.2    118.4    123.8    115.6"<<endl;
salida<<"122.4    95.6    118.2    120.0"<<endl;
salida<<"123.5    130.2    123.9    124.4"<<endl;
cout<<"Datos de Salida: "<<endl<<endl;
cout<<"120.3    122.7    90.3    99.8"<<endl;
cout<<"95.3    120.5    127.3    120.8"<<endl;
cout<<"123.2    118.4    123.8    115.6"<<endl;
cout<<"122.4    95.6    118.2    120.0"<<endl;
cout<<"123.5    130.2    123.9    124.4"<<endl;
getch();}



#include <fstream.h>
#include <conio.h>


void main()
{float promedio, suma;
ifstream entrada;
entrada.open("C://datos//voltios.txt");
float M[5][4];
int i, j;
for(i=0; i<5; i++)
{for(j=0; j<4; j++)
{entrada>>M[i][j];
cout<<M[i][j]<<"    ";}
cout<<endl<<endl;}
for(int i=0; i<5; i++)
{
for(int j=0; j<4; j++)
{
suma=suma+M[i][j];
}}
promedio=suma/20;
cout<<"Promedio: "<<": "<<promedio<<endl;
getch();}

 Programa.







 



 --------------------------------------------------------------------------------------------------------------------------