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]
}
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
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)}
{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;}
{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)
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
{
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
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
{
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();
}
{
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
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
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();
}
#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










