Practica No. 9



Problema No. 1


Escriba un programa que permita que se introduzcan nombres y les asigne una calificación aleatoria, después muestre quienes son los alumnos que aprobaron con un promedio de 70 o mayor.




Solución



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)}


Código de Programación
#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\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 Ejecutado






Problema 2




Un ingeniero elaboro un arreglo bidimensional de números reales con 3 renglones y 5 columnas. Este arreglo contiene los voltajes de prueba obtenidas de un amplificador.

Escriba un programa que introduzca en forma interactiva 15 valores del arreglo y que determine el número total de voltajes cuyos rangos sean menores a 60, entre 60 y 70, entre 70 y 80, entre 80 y 90 y mayores a 90.

Si los rangos están en x<60, 60<=x<70, 70<=x<80, 80<=x<90, x>90.





Solución



Inicio intronum(float v[5][3])

{

int a,b

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

print "Introdusca voltaje ", (b+1), " De la prueba ", (a+1)

read v[a][b]

}

}



float num(float v[5][3])

int a,b,c

c=0

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

if(v[a][b]<60)

c=c+1

}

}

return c



float num1(float v[5][3])

{

int a,b,c

c=0

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

if(v[a][b]>=60 && v[a][b]<70)

c=c+1

}

}

return c



float num2(float v[5][3])

int a,b,c

c=0

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

if(v[a][b]>=70 && v[a][b]<80)

c=c+1

}

}

return c



float num3(float v[5][3])

int a,b,c

c=0

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

if(v[a][b]>=80 && v[a][b]<90)

c=c+1

}

}

return c

}

float num4(float v[5][3])

int a,b,c

c=0

for(a=0 to 3 step a=a+1)

{

for(b=0 to 5 step b=b+1)

{

if(v[a][b]>=90)

c=c+1

}

}

return c



Inicio Main

float a,b,c,d,x

float v[5][3]

intronum(v)

x=num(v)

a=num1(v)

b=num2(v)

c=num3(v)

d=num4(v)

print "Los valores que estan entre el rango menores a 60 son ", x,

print "Los valores que estan entre el rango de 60 a 70 son ", a,

print "Los valores que estan entre el rango de 70 a 80 son ", b,

print "Los valores que estan entre el rango de 80 a 90 son ", c,

print "Los valores que estan entre el rango de 90 en adelante son ",d


Código de Programación
#include <iostream.h>
#include <conio.h>


void intronum(float v[5][3])
{
int a,b;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
cout<<"Introdusca voltaje "<<(b+1)<<" Prueba "<<(a+1)<<endl;
cin>>v[a][b];
}
}
}
float num(float v[5][3])
{
int a,b,c;
c=0;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
if(v[a][b]<60)
c=c+1;
}
}
return c;
}
float num1(float v[5][3])
{
int a,b,c;
c=0;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
if(v[a][b]>=60 && v[a][b]<70)
c=c+1;
}
}
return c;
}


float num2(float v[5][3])
{
int a,b,c;
c=0;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
if(v[a][b]>=70 && v[a][b]<80)
c=c+1;
}
}
return c;
}
float num3(float v[5][3])
{
int a,b,c;
c=0;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
if(v[a][b]>=80 && v[a][b]<90)
c=c+1;
}
}
return c;
}
float num4(float v[5][3])
{
int a,b,c;
c=0;
for(a=0;a<3;a++)
{
for(b=0;b<5;b++)
{
if(v[a][b]>=90)
c=c+1;
}
}
return c;
}
void main()
{
float a,b,c,d,x;
float v[5][3];
intronum(v);
x=num(v);
a=num1(v);
b=num2(v);
c=num3(v);
d=num4(v);
cout<<"Los valores que estan entre el rango menores a 60 son "<<x<<endl;
cout<<"Los valores que estan entre el rango de 60 a 70 son "<<a<<endl;
cout<<"Los valores que estan entre el rango de 70 a 80 son "<<b<<endl;
cout<<"Los valores que estan entre el rango de 80 a 90 son "<<c<<endl;
cout<<"Los valores que estan entre el rango de 90 en adelante son "<<d<<endl;
getch();
}


Programa Ejecutado







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.





Solución



const int m=4

const int n=3



Inicio  intro(int a[m][n], int b[m][n])

int i,c

randomize()

for(i=0 to m step i=i+1)

{

for(c=0 to n step c=c+1)

{

a[i][c]=random(10000)+1

b[i][c]=random(10000)+1

}

}



Inicio imprimedatos(int a[m][n],int b[m][n],int d[m][n])

{

int i,c

print "Primer +   Segundo  =Tercero"

for(i=0 to m step i=i+1)

{

for(c=0 to n step c=c+1)

{

print a[i][c], "\t + ", b[i][c], "\t =   ", d[i][c]

}

}

Inicio sumar(int a[m][n],int b[m][n],int c[m][n])

{

int i,x

for(i=0 to m step i=i+1)

{

for(c=0 to n step c=c+1)

{

c[i][x]=a[i][x]+ b[i][x]

}

}



Inicio main

int primer[m][n],segundo[m][n],tercer[m][n]

intro(primer,segundo)

sumar(primer,segundo,tercer)

imprimedatos(primer,segundo,tercer)


Código de Programación
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
const int m=4;
const int n=3;
void intro(int a[m][n], int b[m][n])
{
int i,c;
randomize();
for(i=0;i<m;i++)
{
for(c=0;c<n;c++)
{
a[i][c]=random(10000)+1;
b[i][c]=random(10000)+1;
}
}
}
void imprimedatos(int a[m][n],int b[m][n],int d[m][n])
{
int i,c;
cout<<"Primer +   Segundo =  Tercero"<<endl;
for(i=0;i<m;i++)
{
for(c=0;c<n;c++)
{
cout<<a[i][c]<<"\t + "<<b[i][c]<<"\t =   "<<d[i][c]<<endl;
}
}
}
void sumar(int a[m][n],int b[m][n],int c[m][n])
{
int i,x;
for(i=0;i<m;i++)
{
for(x=0;x<n;x++)
{
c[i][x]=a[i][x]+ b[i][x];
}
}
}
void main()
{
int primer[m][n],segundo[m][n],tercer[m][n];
intro(primer,segundo);
sumar(primer,segundo,tercer);
imprimedatos(primer,segundo,tercer);
getch();
}
Programa Ejecutado






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.





Solución


Inicio intro(int a[4][5])

{

int i,c

randomize()

for(i=0 to 4 step i=i+1)

{

for(c=0 to 5 step c=c+1)

{

a[i][c]=random(10000)+1

}

}

Inicio  Maximo(int a[4][5],int &maximo,int &psr,int &psc)

{

int i,c

for(i=0 to 4 step i=i+1)

{

for(c=0 to 5 step c=c+1)

{

if (a[i][c]>maximo)

{

maximo=a[i][c]

psr=i+1

psc=c+1

}

}

}



Inicio imprimir(int a[4][5],int maximo,int psr,int psc)

{

int i,c

for(i=0 to 4 step i=i+1)

{

for(c=0 to 5 step c=c+1)

{

print a[i][c], "\t"

}

print endl

}

print "El maximo es ", maximo

print "Y esta en el renglon ", psr

print "Columna ", psc



Inicio main

int x[4][5],maximo,psr,psc

intro(x)

Maximo(x,maximo,psr,psc)

imprimir(x,maximo,psr,psc)
 
Código de Programación
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void intro(int a[4][5])
{
int i,c;
randomize();
for(i=0;i<4;i++)
{
for(c=0;c<5;c++)
{
a[i][c]=random(10000)+1;
}
}
}
void Maximo(int a[4][5],int &maximo,int &psr,int &psc)
{
int i,c;
for(i=0;i<4;i++)
{
for(c=0;c<5;c++)
{
if (a[i][c]>maximo)
{
maximo=a[i][c];
psr=i+1;
psc=c+1;
}
}
}
}
void imprimir(int a[4][5],int maximo,int psr,int psc)
{
int i,c;
for(i=0;i<4;i++)
{
for(c=0;c<5;c++)
{
cout<<a[i][c]<<"\t";
}
cout<<endl;
}
cout<<"El maximo es "<<maximo<<endl;
cout<<"Y esta en el renglon "<<psr<<endl;
cout<<"Columna "<<psc<<endl;
}
void main()
{
int x[4][5],maximo,psr,psc;
intro(x);
Maximo(x,maximo,psr,psc);
imprimir(x,maximo,psr,psc);
getch();
}
 
Programa Ejecutado






Problema 5




Un examen final tiene 100 preguntas de eleccion multiple, cada pregunta tiene 5 respuestas a elegir de las cuales solo una es correcta y la informacion concerniente al estudiante puede representarse con "respuesta", "score"y "name" almacena el nombre de los estudiantes. Las respuestas se codifican entre 1 y 5, cuando se indico mas de una respuesta, esta se representa con 6 .

Diseñe un programa cuyas salidas sean los nombres de los estudiantes que aprobaron el examen, se requiere

una calificacion minima de 70 para aprobar.





Solución




Inicio respuestas(int a[100])

int i

for(i=0;i<100;i++)

{

a[i]=random(6)+1

}

Inicio ralumno(int n,int b[50][100])

int i,j

for(j=0;j<n;j++)

{

for(i=0;i<100;i++)

{

b[j][i]=random(6)+1

}

}

Inicio nombre(int n,char alumno[50][25])

{

int i

cin.ignore()

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

{

print "Inserte nombre ", (i+1)

cin.getline(alumno[i],25,'\n')

}

Inicio comparar(int n,int a[100],int b[50][100],int calificacion[50])

int i,j,suma

for(j=0;j<n;j++)

{

suma=0

for(i=0;i<100;i++)

{

if(a[i]==b[j][i])

{

suma=suma+1

}

calificacion[j]=suma

}

}

Inicio Imprimir(int b[50][100],int n,int calificacion[50],char alumno[50][25])

int j

for(j=0;j<n;j++)

{

if(calificacion[j]>=70)

print alumno[j], " ", calificacion[j]

}

Inicio main

randomize()

int a[100],b[50][100],n,calificacion[50]

char alumno[50][25]

print "Numero de Alumnos "

read n

nombre(n,alumno)

respuestas(a)

ralumno(n,b)

comparar(n,a,b,calificacion)

Imprimir(b,n,calificacion,alumno)


Codigo de Programacion


#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
void respuestas(int a[100])
{
int i;
for(i=0;i<100;i++)
{
a[i]=random(6)+1;
}
}
void ralumno(int n,int b[50][100])
{
int i,j;
for(j=0;j<n;j++)
{
for(i=0;i<100;i++)
{
b[j][i]=random(6)+1;
}
}
}
void nombre(int n,char alumno[50][25])
{
int i;
cin.ignore();
for(i=0;i<n;i++)
{
cout<<"Inserte nombre "<<(i+1)<<endl;
cin.getline(alumno[i],25,'\n');
}
}
void comparar(int n,int a[100],int b[50][100],int calificacion[50])
{
int i,j,suma;
for(j=0;j<n;j++)
{
suma=0;
for(i=0;i<100;i++)
{
if(a[i]==b[j][i])
{
suma=suma+1;
}
calificacion[j]=suma;
}
}
}
void Imprimir(int b[50][100],int n,int calificacion[50],char alumno[50][25])
{
int j;
for(j=0;j<n;j++)
{
if(calificacion[j]>=70)
cout<<alumno[j]<<" "<<calificacion[j]<<endl;
}
}
void main()
{
randomize();
int a[100],b[50][100],n,calificacion[50];
char alumno[50][25];
cout<<"Numero de Alumnos "<<endl;
cin>>n;
nombre(n,alumno);
respuestas(a);
ralumno(n,b);
comparar(n,a,b,calificacion);
Imprimir(b,n,calificacion,alumno);
getch();
}
Programa Ejecutado












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 dimension para 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 leer el nombre de la planta y luego la produccion hecha en cada dia , imprimir el siguiente reporte .





Solución




Inicio intro_prod(int prod[12][7],char planta[12][20])

{

int r,c

randomize()

for(r=0;r<12;r++)

{

print "Nombre de la Planta", (r+1)

read planta[r]

for(c=0;c<7;c++)

{

prod[r][c]=random(1000)+1

}

}

Inicio proplanta(int prod[12][7], int total[12])

int suma,r,c

for(r=0;r<12;r++)

{

suma=0

for(c=0;c<7;c++)

{

suma=prod[r][c]+suma

}

total[r]=suma

}

Inicio prodia(int prod[12][7], int totaldia[7])

int r,c,suma

for(c=0;c<7;c++)

{

suma=0

for(r=0;r<12;r++)

{

suma=prod[r][c]+suma

}

totaldia[c]=suma

}

Inicio producciontotal(int total[12],int & sumatoria)

{

sumatoria=0

int r

for(r=0;r<12;r++)

{

sumatoria=total[r]+sumatoria

}

Inicio maximaprod(int total[12],int & maximo,int & p)

{

int r

maximo=0

for(r=0;r<12;r++)

{

if(maximo<total[r])

{

maximo=total[r]

p=r

}

}

Inicio imprimir(int prod[12][7],int total[12],int totaldia[7],int & maximo,int &p,char planta[12][20],int sumatoria)

int r,c

print "Reporte Semanal de Produccion"<<endl

print "Planta", "\t", "Dia1", "\t", "Dia2", "\t", "Dia3", "\t", "Dia4", "\t", "Dia5", "\t", "Dia6", "\t", "Dia7", "\t", "Produccion Semanal"

for(r=0;r<12;r++)

{

print planta[r], "\t"

for(c=0;c<7;c++)

{

print prod[r][c], "\t"

}

print total[r]

}

print "Totales  "

for(c=0;c<7;c++)

{

print totaldia[c], "\t"

}

print sumatoria

print "Planta mas Productiva ", planta[p]

print "Produccion de la planta mas productiva ", maximo





Inicio main

int prod[12][7],total[12],totaldia[7],maximo,p,sumatoria

char planta[12][20]

intro_prod(prod,planta)

proplanta(prod,total)

prodia(prod,totaldia)

maximaprod(total,maximo,p)

producciontotal(total,sumatoria)

imprimir(prod,total,totaldia,maximo,p,planta,sumatoria)





Código de Programación




#include <iostream.h>

#include <conio.h>

#include <stdlib.h>




void intro_prod(int prod[12][7],char planta[12][20])

{

int r,c;

randomize();

for(r=0;r<12;r++)

{

cout<<"Nombre de la Planta"<<(r+1)<<endl;

cin>>planta[r];

for(c=0;c<7;c++)

{

prod[r][c]=random(1000)+1;

}

}

}




void proplanta(int prod[12][7], int total[12])

{

int suma,r,c;

for(r=0;r<12;r++)

{

suma=0;

for(c=0;c<7;c++)

{

suma=prod[r][c]+suma;

}

total[r]=suma;

}

}

void prodia(int prod[12][7], int totaldia[7])

{

int r,c,suma;

for(c=0;c<7;c++)

{

suma=0;

for(r=0;r<12;r++)

{

suma=prod[r][c]+suma;

}

totaldia[c]=suma;

}

}




void producciontotal(int total[12],int & sumatoria)

{

sumatoria=0;

int r;

for(r=0;r<12;r++)

{

sumatoria=total[r]+sumatoria;

}

}




void maximaprod(int total[12],int & maximo,int & p)

{

int r;

maximo=0;

for(r=0;r<12;r++)

{

if(maximo<total[r])

{

maximo=total[r];

p=r;

}

}

}




void imprimir(int prod[12][7],int total[12],int totaldia[7],int & maximo,int &p,char planta[12][20],int sumatoria)

{

int r,c;

cout<<"Reporte Semanal de Produccion"<<endl;

cout<<"Planta"<<"\t"<<"Dia1"<<"\t"<<"Dia2"<<"\t"<<"Dia3"<<"\t"<<"Dia4"<<"\t"<<"Dia5"<<"\t"<<"Dia6"<<"\t"<<"Dia7"<<"\t"<<"Produccion Semanal"<<endl;

for(r=0;r<12;r++)

{

cout<<planta[r]<<"\t";

for(c=0;c<7;c++)

{

cout<<prod[r][c]<<"\t";

}

cout<<total[r]<<endl;

}

cout<<"Totales  ";

for(c=0;c<7;c++)

{

cout<<totaldia[c]<<"\t";

}

cout<<sumatoria<<endl;

cout<<"Planta mas Productiva "<<planta[p]<<endl;

cout<<"Produccion de la planta mas productiva "<<maximo<<endl;

}





void main()

{

int prod[12][7],total[12],totaldia[7],maximo,p,sumatoria;

char planta[12][20];

intro_prod(prod,planta);

proplanta(prod,total);

prodia(prod,totaldia);

maximaprod(total,maximo,p);

producciontotal(total,sumatoria);

imprimir(prod,total,totaldia,maximo,p,planta,sumatoria);

getch();

}


Programa Ejecutado




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

Solución


Inicio intro_prod(int prod[10][12],char nombre[10][20])

int r,c

randomize()

for(r=0;r<10;r++)

{

print "Nombre ", (r+1)

read nombre[r]

for(c=0;c<12;c++)

{

prod[r][c]=random(1000)+1

}

}

Inicio totaln(int prod[10][12], int total[10])

int suma,r,c

for(r=0;r<10;r++)

{

suma=0

for(c=0;c<12;c++)

{

suma=prod[r][c]+suma

}

total[r]=suma

}

Inicio prom(int total[10],float & promedio)

int r

float l,suma

suma=0

for(r=0;r<10;r++)

{

suma=suma+total[r]

}

l=r

promedio=suma/l

Inicio imprimir(int prod[10][12],int total[10],char nombre[10][20],float promedio)

int r,c

print "Analisis de Produccion"

print "Nombre", "  Produccion Anual"

for(r=0;r<10;r++)

{

print nombre[r], "\t", total[r]

}

print "Promedio de la Produccion:", promedio





Inicio main

int prod[10][12],total[10]

float promedio

char nombre[10][20]

intro_prod(prod,nombre)

totaln(prod,total)

prom(total,promedio)

imprimir(prod,total,nombre,promedio)



Código de Programación


#include <iostream.h>

#include <conio.h>

#include <stdlib.h>

void intro_prod(int prod[10][12],char nombre[10][20])

{

int r,c;

randomize();

for(r=0;r<10;r++)

{

cout<<"Nombre "<<(r+1)<<endl;

cin>>nombre[r];

for(c=0;c<12;c++)

{

prod[r][c]=random(1000)+1;

}

}

}

void totaln(int prod[10][12], int total[10])

{

int suma,r,c;

for(r=0;r<10;r++)

{

suma=0;

for(c=0;c<12;c++)

{

suma=prod[r][c]+suma;

}

total[r]=suma;

}

}

void prom(int total[10],float & promedio)

{

int r;

float l,suma;

suma=0;

for(r=0;r<10;r++)

{

suma=suma+total[r];

}

l=r;

promedio=suma/l;

}

void imprimir(int prod[10][12],int total[10],char nombre[10][20],float promedio)

{

int r,c;

cout<<"Analisis de Produccion"<<endl;

cout<<"Nombre"<<"  Produccion Anual"<<endl;

for(r=0;r<10;r++)

{

cout<<nombre[r]<<"\t"<<total[r]<<endl;

}

cout<<"Promedio de la Produccion:"<<promedio<<endl;

}



void main()

{

int prod[10][12],total[10];

float promedio;

char nombre[10][20];

intro_prod(prod,nombre);

totaln(prod,total);

prom(total,promedio);

imprimir(prod,total,nombre,promedio);

getch();

}


Programa Ejecutado











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.





Solución


Inicio matriz(int a[5][4])

{

int b,c,h

h=0

print "Introdusca datos"

for(b=0 to 5 step b=b+1)

{

for(c=0 to4 step c=c+1)

{

cin>>a[b][c]

}

}

for(b=0 to 5 step b=b+1)

{

for(c=0 to4 step c=c+1)

{

if(a[b][c]!=0)

{

h=h+1

}

}

}

if(h!=0)

print "No es nula"

else

print "Es nula"



Inicio main

int a[5][4]

matriz(a)



Código de programación


#include <iostream.h>


#include <conio.h>

void matriz(int a[5][4])

{

int b,c,h;

h=0;

cout<<"Introdusca datos"<<endl;

for(b=0;b<5;b++)

{

for(c=0;c<4;c++)

{

cin>>a[b][c];

}

}

for(b=0;b<5;b++)

{

for(c=0;c<4;c++)

{

if(a[b][c]!=0)

{

h=h+1;

}

}

}

if(h!=0)

cout<<"No es nula"<<endl;

else

cout<<"Es nula"<<endl;

}

void main()

{

int a[5][4];

matriz(a);

getch();

}
Programa Ejecutado










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





Solución


void matriz(int a[10][10])

{

int b,c

for(b=0 to 10 step b=b+1)

{

for(c=0 to 10 step c=c+1)

{

if(b==c)

{

a[b][c]=0

}

else

a[b][c]=1

}

}

Inicio imprimir(int a[10][10])

{

int b,c

for(b=0 to 10 step b=b+1)

{

for(c=0 to 10 step c=c+1)

{

print a[b][c]

}

print endl

}

Inicio main

int a[10][10]

matriz(a)

imprimir(a)



Código de programación



#include <iostream.h>

#include <conio.h>

void matriz(int a[10][10])

{

int b,c;

for(b=0;b<10;b++)

{

for(c=0;c<10;c++)

{

if(b==c)

{

a[b][c]=0;

}

else

a[b][c]=1;

}

}

}

void imprimir(int a[10][10])

{

int b,c;

for(b=0;b<10;b++)

{

for(c=0;c<10;c++)

{

cout<<a[b][c];

}

cout<<endl;

}

}

void main()

{

int a[10][10];

matriz(a);

imprimir(a);

getch();

}
Programa Ejecutado






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 .





Solución


Inicio matriz(int a[5][6])

int b,c

print "Ingrese datos de la matriz"

for(b=0 to 5 step b=b+1)

{

print "Columna ", (b+1)

for(c=0 to 6 step c=c+1)

{

read a[b][c]

}

}

Inicio sumatoriac(int a[5][6],int suma[6])





int b,c,sumar

for(c=0 to 6 step c=c+1)

{

sumar=0

for(b=0 to 5 step b=b+1)

{

sumar=a[b][c]+sumar

}

suma[c]=sumar

}

Inicio sumatoriar(int a[5][6],int x[5])

int b,c,sumar

for(b=0 to 5 step b=b+1)

{

sumar=0

for(c=0 to 6 step c=c+1)

{

sumar=a[b][c]+sumar

}

x[b]=sumar

}

void mayor(int a[5][6],int &maximo,int & posicionr,int & posicionc)

int b,c

maximo=0

for(b=0 to 5 step b=b+1)

{

for(c=0 to 6 step c=c+1)

{

if(maximo<a[b][c])

{

maximo=a[b][c]

posicionr=b

posicionc=c

}

}

}

Inicio  imprimir(int a[5][6],int x[5],int suma[6],int maximo,int posicionr,int posicionc)

int b,c

for(b=0 to 5 step b=b+1)

{

print endl

for(c=0 to 6 step c=c+1)

{

print a[b][c], "\t"

}

}

print endl

for(b=0 to 5 step b=b+1)

{

print "Sumatoria del renglon", (b+1), "  ", x[b]

}

for(b=0 to 6 step b=b+1)

{

print "Sumatoria de la columna ", (b+1), "  ", suma[b]

}

print "Valor Maximo ", maximo, " En la posicion ", "[", (posicionr+1), "]", "[", (posicionc+1), "]"

Inicio main

int a[5][6],x[5],suma[6],maximo,posicionr,posicionc

matriz(a)

sumatoriac(a,suma)

sumatoriar(a,x)

mayor(a,maximo,posicionr,posicionc)

imprimir(a,x,suma,maximo,posicionr,posicionc)





Código de Programación

 #include <iostream.h>

#include <conio.h>

void matriz(int a[5][6])

{

int b,c;

cout<<"Ingrese datos de la matriz"<<endl;

for(b=0;b<5;b++)

{

cout<<"Columna "<<(b+1)<<endl;

for(c=0;c<6;c++)

{

cin>>a[b][c];

}

}

}

void sumatoriac(int a[5][6],int suma[6])

{

int b,c,sumar;

for(c=0;c<6;c++)

{

sumar=0;

for(b=0;b<5;b++)

{

sumar=a[b][c]+sumar;

}

suma[c]=sumar;

}

}

void sumatoriar(int a[5][6],int x[5])

{

int b,c,sumar;

for(b=0;b<5;b++)

{

sumar=0;

for(c=0;c<6;c++)

{

sumar=a[b][c]+sumar;

}

x[b]=sumar;

}

}

void mayor(int a[5][6],int &maximo,int & posicionr,int & posicionc)

{

int b,c;

maximo=0;

for (b=0;b<5;b++)

{

for (c=0;c<6;c++)

{

if(maximo<a[b][c])

{

maximo=a[b][c];

posicionr=b;

posicionc=c;

}

}

}

}

void imprimir(int a[5][6],int x[5],int suma[6],int maximo,int posicionr,int posicionc)

{

int b,c;

for(b=0;b<5;b++)

{

cout<<endl;

for(c=0;c<6;c++)

{

cout<<a[b][c]<<"\t";

}

}

cout<<endl;

for(b=0;b<5;b++)

{

cout<<"Sumatoria del renglon"<<(b+1)<<"  "<<x[b]<<endl;

}

for(b=0;b<6;b++)

{

cout<<"Sumatoria de la columna "<<(b+1)<<"  "<<suma[b]<<endl;

}

cout<<"Valor Maximo "<<maximo<<" En la posicion "<<"["<<(posicionr+1)<<"]"<<"["<<(posicionc+1)<<"]"<<endl;

}

void main()

{

int a[5][6],x[5],suma[6],maximo,posicionr,posicionc;

matriz(a);

sumatoriac(a,suma);

sumatoriar(a,x);

mayor(a,maximo,posicionr,posicionc);

imprimir(a,x,suma,maximo,posicionr,posicionc);

getch();

}


Programa Ejecutado










Problema 11




Hacer un programa que permita leer números para una matriz A de (6 x 4) las propias para una matriz B, que las imprima ,si la matriz A es mayor que la matriz B .para que la matriz A sea mayor B para cada elemento A[i][j] debe prolomenos ser igual aun elemento en B[i][j] correspondiente y debe existir al menos un A [i][j] mayor que su correspondiente B[i][j]





Solución





Inicio matriz(int a[6][4])

int i,j

print "Ingrese Num de la Matriz"

for(i=0 to 6 step i=i+1)

{

for(j=0 to 4 step j=j+1)

{

read a[i][j]

}

}

Inicio imprime_matriz(int a[6][4])





int i,j

print endl

for(i=0 to 6 step i=i+1)

{

for(j=0 to 4 step j=j+1)

{

print a[i][j]<<"\t"

}

print endl

}

Inicio comparamatriz(int a[6][4],int b[6][4])

int i,j,h

h=0

for(i=0 to 6 step i=i+1)

{

for(j=0 to 4 step j=j+1)

{

if(a[i][j]>=b[i][j])

h=h+1

}

}

if(h==0)

print "La Matriz B es mayor a la A"

else

print "La Matriz A es mayor a la B"





Inicio Main

int a[6][4],b[6][4]

matriz(a)

matriz(b)

imprime_matriz(a)

imprime_matriz(b)

comparamatriz(a,b)





Código de Programación




#include <iostream.h>

#include <conio.h>

void matriz(int a[6][4])

{

int i,j;

cout<<"Ingrese Num de la Matriz"<<endl;

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

{

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

{

cin>>a[i][j];

}

}

}

void imprime_matriz(int a[6][4])

{

int i,j;

cout<<endl;

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

{

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

{

cout<<a[i][j]<<"\t";

}

cout<<endl;

}

}

void comparamatriz(int a[6][4],int b[6][4])

{

int i,j,h;

h=0;

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

{

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

{

if(a[i][j]>=b[i][j])

h=h+1;

}

}

if(h==0)

cout<<"La Matriz B es mayor a la A"<<endl;

else

cout<<"La Matriz A es mayor a la B"<<endl;

}

void main()

{

int a[6][4],b[6][4];

matriz(a);

matriz(b);

imprime_matriz(a);

imprime_matriz(b);

comparamatriz(a,b);

getch();

}


Programa Ejecutado