viernes, 10 de junio de 2011

proyecto final

INSTITUTO TECNOLOGICO DE TIJUANA
Cadena Vargas Victor Alan
Programación Estructurada
Ing. Ángela Colunga
Proyecto final
10 junio 2011

Recetario
Muchas veces las personas tenemos libros de con recetas de cocina en nuestras alacenas o librerías, pero se mojan, se pierden, los rompemos sin querer en fin muchas cosas suelen pasarle a los libros de cocina, por eso la solución de este problema es con un programa que acepte tus recetas de cocina de una manera fácil y rápida. Solo es cuestión de saber los ingredientes y la forma de preparar o solamente copiar las recetas del libro y quedaran a salvo en tu computadora. 

Es fácil de usar, primero se despliega el siguiente menú:
Donde le ofrece las opciones de cargar receta, editar receta, buscar receta y salir.


Antes de elegir la opción de cargar receta, tecleando el numero 1, deberá crear una carpeta en el disco C: de su pc siguiendo estas indicaciones; inicio>>mi pc>>disco local (C:)>>clic derecho>>nuevo>>folder>>crear folder con el nombre de “recetario”.
 Ya habiendo echo esto ahora si puede teclear el numero 1 y  se desplegaran otras opciones como las siguientes:

Al darle al enter en su teclado automáticamente se guardara en la carpeta de recetario que habíamos creado previamente y ahí podrás editarla o solamente observarla.


Como editar tus recetas.
Solamente tendrás que teclear el numero 2 y te pedirá el numero de la receta que deseas editar de la sig. Manera:

 Y ahí introducirás el número  en este caso será la numero 1:

Esto quedara guardado en el recetario.
Y si solo quieres visualizar solo tienes que teclear el número 3 en el menú principal y elegir la receta a ver y listo.
Para salir solo es necesario teclear el numero 4 y listo tus recetas quedaran guardadas en tu computadora.


jueves, 9 de junio de 2011

practica 10

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

pseudocodigo


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

void main()
{
int i, j;
char name[25], opc;
int calificaciones[4];
float conta, promedio;
fstream lol;
lol.open("C:\Practicas\archivo.txt",ios::trunc);
lol.close();
lol.open("C:\Practicas\archivo.txt",ios::out);
do
{
conta=0;
cout<<"Nombre del alumno: ";
cin>>name;
lol<<name<<" ";
for(j=0;j<4;j++)
{
cout<<"Calificacion unidad"<<(j+1)<<": ";
cin>>calificaciones[j];
lol<<calificaciones[j]<<"\t";
conta=conta+calificaciones[j];
}
promedio=conta/4.0;
cout<<"El promedio de "<<name<<" es: "<<promedio<<endl;
lol<<promedio<<endl;
cout<<endl;
cout<<"Desea agregar otro estudiante? (s/n):";
cin>>opc;
cout<<endl;
}
while(opc=='s'||opc=='S');
getch();
}




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 número en el archivo 5 indica que los siguientes cinco números se agrupan juntos y el numero cuatro igual y el  6 también.


programa
#include <fstream.h>
#include <conio.h>
void main ()
{
fstream data;
int n, m, x, y;
float promedio, suma;
data.open ("C:\practicas\datos.txt", ios::out);
data<<"5 96 87 78 93 21 4 92 82 85 87 6 72 69 85 75 81 73";
data.close();
data.open ("C:\practicas\datos.txt", ios::in);
for (n=0;n<3;n++)
{
suma=0;
data>>x;
for (m=0;m<x;m++)
{
data>>y;
suma=suma+y;
}
promedio=suma/x;
cout<<"El promedio es: "<<promedio<<endl;
}
data.close();
getch();
}





Problema 3
Escriba un archivo las siguientes cantidades de automóviles, el número de millas recorridas y las cantidades de galones de gasolina empelado para cada auto.
No. de Carro       Millas Recorridas     Galones Utilizados
54                          250                             19
62                          525                           38
71                          123                             6
85                          1322                          86
97                          235                             14
 b)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. La  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.


programa
#include <fstream.h>
#include <conio.h>
void archivo()
{
fstream lol;
lol.open("C://practicas//carros.txt",ios::out);
lol<<"54 250 19"<<endl;
lol<<"62 525 38"<<endl;
lol<<"71 123 6"<<endl;
lol<<"85 1322 86"<<endl;
lol<<"97 235 14"<<endl;
lol.close();
}
void main()
{
archivo();
}

B)
programa
#include <fstream.h>
#include <conio.h>

void cuentas(float a[5][3],float c[5],float & tm, float & tg,float & mpg)
{
int b;
tm=0;
tg=0;
for(b=0;b<5;b++)
{
tm=a[b][1]+tm;
tg=a[b][2]+tg;
c[b]=a[b][1]/a[b][2];
}
mpg=tm/tg;
}

void ingresar_datos(float a[5][3])
{
int b,d;
fstream lol;
lol.open("C://practicas//carros.txt",ios::in);
for(b=0;b<5;b++)
{
for(d=0;d<3;d++)
{
lol>>a[b][d];
}
}
lol.close();
}
void imprime(float a[5][3],float c[5],float tm,float tg,float mpg)
{
int b,d;
cout<<"# de Carro  |  Mill. Recorridas  |  Gal. Utilizados  |  Prom. de mill por gal"<<endl;
cout<<endl;
for(b=0;b<5;b++)
{
for(d=0;d<3;d++)
{
cout<<a[b][d]<<"        "<<"        ";
}
cout<<c[b]<<endl;
}
cout<<endl;
cout<<"Millas totales recorridas: "<<tm<<endl;
cout<<"Galones utilizados: "<<tg<<endl;
cout<<"Promedio total de mi/gal: "<<mpg<<endl;
}

void main()
{
float a[5][3],c[5],m,g,mpg;
ingresar_datos(a);
cuentas(a,c,m,g,mpg);
imprime(a,c,m,g,mpg);
getch();
}




Problema 4
 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

Escriba un programa que acepte del usuario distancia y ángulo y los agregue al final del archivo.
y escriba un programa que lea este archivo (polar) y crea otro llamado xycord.txt

programa
#include <fstream.h>
#include <conio.h>
#include <math.h>
void primera()
{
fstream salida;
salida.open("C://practicas//polar.dat",ios::binary | ios::out);
salida<<2.0<<" "<<45.0<<" ";
salida<<6.0<<" "<<30.0<<" ";
salida<<10.0<<" "<<45.0<<" ";
salida<<4.0<<" "<<60.0<<" ";
salida<<12.0<<" "<<55.0<<" ";
salida<<8.0<<" "<<15.0<<" ";
salida.close();
}
void segunda()
{
float d,a;
char otro;
fstream salida;
salida.open("C://practicas//polar.dat",ios::binary|ios::app);
do
{
cout<<"Distancia (en pulgadas): ";
cin>>d;
cout<<"Angulo (en grados): ";
cin>>a;
salida<<d<<"\t"<<a<<"\t";
cout<<"Desea agregar otro dato? s/n: ";
cin>>otro;
cout<<endl;
}
while(otro=='s'||otro=='S');
}
void tercera()
{
float i,j;
float x,y;
float grados;
fstream in;
fstream out;
in.open("C://practicas//polar.dat",ios::binary|ios::in);
out.open("C://practicas//cordXY.dat",ios::binary|ios::out);
cout<<" X        Y"<<endl;
cout<<"                                  "<<endl;
in>>i;
do
{
in>>j;
grados=(j/180)*3.1416;
x=i*cos(grados);
y=i*sin(grados);
cout<<x<<"        "<<y<<endl;
out<<x<<"    "<<y<<"    ";
in>>i;
}
while(!in.eof());
out.close();
in.close();
}
void main()
{
primera();
segunda();
tercera();
getch();
}




Problema 5
5- Considere la siguiente lista de países y sus capitales.
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.

Canada,Inglaterra,Francia,India,Israel,Italia,Japon,Mexico,China,Estados Unidos,Rusia


Ottawa,Londres,Paris,Nueva Delhi,Jerusalen,Roma,Tokio,Cd de Mexico,Beijing,Washington DC, Moscu


programa
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char pais[20];
int a;
char paises[12][20]={"Canada","Inglaterra","Francia","India","Israel","Italia","Japon","Mexico","China","Estados Unidos","Rusia"};
char capitales[12][20]={"Ottawa","Londres","Paris","Nueva Delhi","Jerusalem","Roma","Tokio","Ciudad de Mexico","Biejing","Washington DC","Moscu"};
do
{
cout<<"ingrece un pais: ";
cin.getline(pais,20,'\n');
for(a=0;a<12;a++)
{
if(strcmpi(pais,paises[a])==0)
{
cout<<"La capital de "<<pais<<" es: "<<capitales[a]<<endl;
cout<<endl;
}
}
for(a=0;a<12;a++)
{
if(strcmpi(pais,capitales[a])==0)
{
cout<<paises[a]<<endl;
}
}
}
while(strcmp(pais, "fin"));
getch();
}




Problema 6
Una empresa tiene varios 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 .

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

void main()
{
int j=0,suma=0;
float prom, nivel, com;
char nombre[20][22], opc;
int ventas[20];
do
{
cout<<"Nombre del vendedor #"<<(j+1)<<": "<<endl;
cin.ignore();
cin.getline(nombre[j],22,'\n');
cout<<"Cantidad de dinero que vendio "<<nombre[j]<<": "<<endl;
cin>>ventas[j];
suma=suma+ventas[j];
cout<<"Desea agregar otro vendedor?(s/n): ";
cin>>opc;
cout<<endl;
j++;
}
while(opc=='s'|| opc=='S');
prom=suma/j;
nivel=(3.0/4.0)*prom;
cout<<endl;
cout<<"      C O M I S I O N E S : "<<endl;
cout<<"                                         "<<endl;
for(int i=0;i<j;i++)
{
if(ventas[i]>nivel)
{
com=ventas[i]*0.05;
cout<<endl;
cout<<"Nombre del vendedor: "<<nombre[i]<<"/ Su comision del 5% es de: "<<com<<endl;
}
}
getch();
}



lunes, 9 de mayo de 2011

practica 9

problema 1
Escriba un programa que almacene los nombres y calificaciones de 30 alumnos desplegando una tabla, asi como la lista de aprobados, el promedio del grupo y el promedio mas alto.


programa

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









problema 2


Un ingeniero  elaboró un arreglo bidimensional con 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 de forma interactiva 15 valores del arreglo y que determine el número total de voltajes cuyos rangos sean menores de 60, mayores o iguales a 60, menores de 70, mayores o iguales a 70, menores de 80, mayores o iguales a 80, menores a 90 y mayores o iguales a 90.


programa

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






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][2] del arreglo que resulte deban ser la suma del primero y del segundo. Los arreglos “primero” y “segundo” deben inicializarse con números aleatorios. El valor de “m” y “n” defínalo con un valor constante.


programa

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









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 x 5 en números enteros, despliegue los números subíndice del renglón y columna que correspondan al valor máximo.


programa

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







problema 5


Un examen final tiene 100 preguntas de elección múltiple. Cada pregunta tiene 5 respuestas a elegir, de las cuales solo una es la correcta.
Donde respuestas contiene las respuestas correctas del examen, escore es una matriz cuyos renglones son las respuestas a las 100 preguntas de elección múltiple dadas por los estudiantes y el vector name está compuesto por el nombre de ellos. Las respuestas de cada pregunta se codifican entre 1 y 5 cuando se inicio más de una respuesta esta posibilidad se indica con 6. Diseñe un programa cuyas salidas sean los nombres de los estudiantes     que aprobaron el examen. Se requiere una calificación mínima de 70 para aprobar.
programa

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







problema 6
Una compañía manufacturera tiene 12 plantas. Elaborar un programa que permita leer el nombre de cada planta y la producción que se hizo en cada uno de los 7 días de la semana; utilizar un arreglo de una dimensión para leer los nombres de las plantas y un arreglo de 2 dimensiones (12x 7) para leer la producción de las 12 plantas los 7 días. La idea es leer el nombre de la planta y luego la producción hecha en cada uno de los 7 días.


programa

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

}







problema 7


Elaborar un programa de 10 trabajadores, mensual (producción) por cada uno de los 12 meses del año.

programa
#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();

}







problema 8
Una matriz es nula si todos sus elementos son iguales a 0. Elaborar un programa que lea una matriz de números de 5 x 4 e indique si la matriz es nula o no.


programa
#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();

}







problema 9 
Generar una matriz de 10 x 10 con ceros en los elementos en la diagonal principal; a las demás colocar un numero e imprimilo.


programa
#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();

}











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 columnas, utiliza un arreglo unidimensional para obtener la sumatoria de todos los renglones y uno de una dimensión para la sumatoria de todas las columnas, imprima el dato mayor y la posición de los renglones.


programa
 #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();

}







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].


programa
#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();

}