Sunteți pe pagina 1din 18

Computacin (75.

01)
Gua de Ejercicios y Resoluciones

1 Cuatrimestre 2011 - Ctedra Cabrera

Secuencia
1) Dado el radio R de una esfera, calcular e imprimir su superficie y su volumen.
2) Realizar un programa que produzca la siguiente salida:
***********
* "HOLA" *
***********
3) Leer la base y la altura de un rectngulo, calcular el permetro y la superficie.
4) Leer dos nmeros A y B e intercambiar el valor de sus variables.
5) Dadas las horas de partida y llegada de un mvil, expresadas en horas, minutos y
segundos, calcular su velocidad promedio sabiendo que la distancia recorrida es D.
6) Escribir un programa que lea un nmero real cualquiera y lo imprima redondeando
con dos decimales.
7) Una gran compaa de productos qumicos paga por comisin a sus agentes de ventas.
Estos reciben $200 a la semana ms 9% de sus ventas brutas en la semana. Por ejemplo, un agente que venda $5000 en qumicos en una semana recibir $200 ms 9% de
$5000, es decir, un total de $650. Desarrolle un programa que acepte como entrada
las ventas netas de un vendedor durante la ltima semana y calcule y despliegue sus
ingresos.
8) Realice un programa que muestre el siguiente dibujo:

*
**
***
****
*****
******
*
*
*

9) Pasar un perodo expresado en segundos a un perodo expresado en das, horas, minutos y segundos.

Seleccin
1) Leer un nmero entero y decir si es mayor, menor o igual a cero.
2) Leer dos nmeros reales e imprimir el mayor de ellos.
3) Ingrese tres valores reales que correspondan a los lados de un tringulo e imprima de
qu clase es.
4) Ingrese un carcter e informe si es una letra.
5) Escriba un programa que ingrese 2 nmeros y un carcter (+, -, *, /) e informe el resultado de la operacin.
6) Construya un programa que ingrese una letra (mayscula o minscula) e informe si
es vocal o consonante.
7) Realice un programa que solicite el valor de X y devuelva si el valor de
Y = 6x2/(5+4x) es par o impar.
8) Ingrese dos nmeros enteros e indique si la suma es un nmero positivo o negativo.
9) Escribir un algoritmo que determine si un nmero N es divisible por M.
10) Leer datos de lados de un tringulo A, B, C, haciendo consistencia de datos (debe ser
A < B + C si A es el lado mayor). Informar segn sea A2 con respecto a B2 + C2, si el
tringulo es rectngulo, acutngulo u obtusngulo.
11) Un palndromo es un nmero o frase de texto que se lee igual al derecho que al revs.
Por ejemplo, los siguientes enteros de 5 cifras son palndromos: 12321, 55555, 45554
o 11611. Escriba un programa que lea un entero de 5 dgitos y determine si es un
palndromo o no.
12) Realice un programa que permita el ingreso de una fecha y verifique si es una fecha
vlida. Utilice tres variables enteras DD, MM y AA para cargar el valor de la fecha.
Un ao es bisiesto si su valor es mltiplo de 4 y no de 100 o cuando es mltiplo de
400.

13) Realice un programa que, dado el ingreso de dos fechas, muestre la cantidad de das
que hay entre ellas.

Iteracin
1) Dada una lista de N valores enteros, informar cuntos son negativos y el promedio de
los positivos.
2) Leer un nmero N y calcular su factorial.
3) Leer una serie de nmeros reales, terminando la serie con un cero. Imprimir los datos
a medida que se los ingresa junto con las suma parcial de los mismos.
4) Dada una serie de nmeros enteros, determinar el valor mximo, el mnimo y las
posiciones que stos ocupan en la serie.
5) Leer un valor N y luego N nmeros enteros de cuatro cifras. Se pide imprimir el mayor y el menor y las veces que aparece cada uno. Pueden venir datos errneos.
6) Escribir un algoritmo que determine si un nmero es primo.
7) Leer A y B, enteros de 4 cifras. Calcular C = A*B mediante sumas sucesivas, e imprimir el resultado.
8) Leer A y B, enteros. Calcular C = AB mediante multiplicaciones sucesivas, e imprimir el resultado.
9) Escribir un algoritmo que descomponga un nmero en sus factores primos.
10) Desarrollar un algoritmo para hallar el MCD entre dos enteros dados.
11) Dada una serie de nmeros enteros terminada en cero, imprimir los 4 mayores.
12) Realizar un algoritmo que lea una serie de nmeros enteros y verifique si estn ordenados ascendentemente o no, informando por pantalla.
13) Dada una serie de datos de la forma mes (1 a 12, no vienen ordenados), cantidad
recaudada (en pesos) y costo total (en pesos), hacer un algoritmo que calcule e imprima cul fue el mes que arroj mayor ganancia. La serie termina con mes igual a
cero, y pueden venir datos errneos.
14) Calcular todos los nmeros de tres cifras tales que la suma de los cubos de las cifras
sea igual al valor del nmero.

15) La ecuacin para estimar la poblacin en un perodo de N aos, si el crecimiento


porcentual R%, es: P = P0*(1 + R/100)N
Escribir un algoritmo que tabule las poblaciones previstas para la ciudad de Buenos
Aires entre 1980 y 2050, con intervalos de 10 aos, sabiendo que:
R = 1,7% y P0 = 9.927.000 (en 1980).
16) De cada uno de los N empleados de una empresa se tiene: N de legajo, sueldo bsico, antigedad. Sabiendo que se recibe un plus por antigedad segn el siguiente
cuadro:
2 a 4 aos
20% del bsico
5 a 8 aos
40% del bsico
9 a 12 aos
60% del bsico
13 o ms aos 80% del bsico
Imprima para cada empleado, su legajo y sueldo a cobrar, y al fin del proceso, el total
de los sueldos.
17) Ingresar nmeros enteros positivos, el ingreso de un nmero negativo indicar el fin
de los datos. Para cada nmero ingresado, calcular e imprimir la sumatoria desde 1
hasta dicho nmero.
18) Se leen 300 datos que representan el peso de la misma cantidad de nios que hay
internados en un hospital. Se desea confeccionar la siguiente tabla:
Entre 0,000 y 10,000 kg hay ...... nios.
Entre 10,001 y 20,000 kg hay ...... nios.
Entre 20,001 y30,000 kg hay ...... nios.
De ms de 30,000 kg hay ...... nios.
19) La relacin entre temperaturas Celsius y Fahrenheit est dada por: C = (5/9)*(F - 32).
Escribir un algoritmo que haga una tabla de valores Celsius-Fahrenheit, para valores
entre 0 F y 200 F con intervalos de 10 F.
20) Una empresa de ventas por correo vende 5 productos distintos, cuyos precios unitarios se muestran en la siguiente tabla:
1
2,98
2
4,50
3
9,98
4
4,49
5
6,87
Escriba un programa que lea una serie de pares de nmeros como sigue:
a. Nmero del producto.
b. Cantidad vendida en el da.
Su programa deber calcular y desplegar el valor total de todos los productos vendidos la semana pasada.

21) Escriba un programa que encuentre los tres primeros nmeros perfectos. Un nmero
perfecto es un entero positivo, que es igual a la suma de todos sus divisores (excepto
l mismo). El primer nmero perfecto es 6, ya que los divisores de 6 son 1, 2, 3 y
1+2+3=6.
22) Leer N y luego N lotes de nmeros reales que terminan con valor 0, y calcular la
media individual de cada lote, junto con la media total de todos los nmeros ingresados.
23) Se dispone del registro diario de lluvias de un mes para una localidad. Si llovi algn
da del mes, indicar cul fue el da ms lluvioso y utilizar un indicador lgico para
discriminar si llovieron dos das seguidos en el mes. Si no llovi en todo el mes, emitir un mensaje.

Funcin RAND
1) Simular 100 tiradas de dos dados y contar las veces que entre los dos suman 10.
2) Simular el juego de dados entre 3 participantes y parar cuando uno de ellos haga
"generala", es decir, todos los dados con el mismo nmero.
3) Escribir un programa que juegue "adivina el nmero" como sigue: el programa selecciona un nmero a adivinar entre 1 y 1000. El jugador ingresa algn nmero y el
programa responde con mensajes "Muy alto", "Muy bajo" o "Acert". Una vez que
se adivina, el programa deber indicar la cantidad de intentos que fueron necesarios.

Funciones de Usuario
1) Escriba dos funciones que reciban un nmero real y devuelvan el doble y la mitad del
mismo, respectivamente; llmelas en un programa que ingrese nmeros y los imprima acompaados del valor del doble y la mitad. Elija usted la forma de indicar el fin
de los datos.
2) Resuelva el siguiente problema usando funciones: Ingresar N nmeros enteros e imprimirlos acompaados de su factorial.
3) Ingrese ternas de caracteres que finalizan con (x, x, x). Imprima cada terna ordenada
de menor a mayor (use una funcin para ordenarlas).

4) Construya una funcin que reciba dos valores reales y devuelva el ms grande. Haga
un programa que utilice la funcin.
5) Construya una funcin que reciba un valor entero y lo imprima en un rengln y que
cada 5 nmeros impresos, imprima un rengln de asteriscos. Pruebe la funcin con
un programa que genere 15 nmeros al azar y los imprima, haciendo una separacin
con asteriscos cada 5 nmeros.
6) Escriba una funcin mltiplo que tome dos enteros y determine si el segundo es
mltiplo del primero. Utilice esta funcin en un programa que acepte como entrada
una serie de pares enteros.
7) Escriba una funcin que presente en el margen izquierdo de la pantalla un cuadrado
con el carcter especificado en el primer parmetro y la longitud del lado indicada en
el segundo parmetro.
8) Un estacionamiento pblico cobra una tarifa mnima de $2,00 por estacionarse hasta
tres horas; luego cobra $0,50 por cada hora o fraccin a partir de las tres horas. La tarifa mxima por perodo de 24 horas es de $10,00. Suponga que ningn automvil se
estaciona por ms de 24 horas seguidas. Escriba un programa que calcule e imprima
las cuentas por estacionamiento de tres clientes que dejaron all sus autos. Usted introduce las horas de estacionamiento de cada cliente. Su programa imprimir los resultados en forma tabular y con orden, y calcular e imprimir el total de los recibos
de ayer. Tambin determinar el cargo por cliente utilizando una funcin. Sus salidas
debern aparecer en el siguiente formato:
Auto Horas Cargo
1
1,5
2,00
2
4,0
2,50
3
24,0 10,00
Total 29,50 14,50
9) Defina una funcin hipotenusa que calcule la longitud de la hipotenusa de un tringulo rectngulo cuando se dan los otros dos lados. Emplee esta funcin en un programa.
10) Escriba una funcin que tome un valor entero y devuelva el nmero con sus dgitos
en reversa. Por ejemplo, dado el nmero 7631, la funcin deber devolver 1367.
11) Escriba una funcin que acepte el promedio de un estudiante y devuelva 4 si su
promedio est entre 90 y 100, 3 si est entre 80 y 89, 2 si est entre 70 y 79, 1 si est
entre 60 y 69, y 0 si es menor que 60.

12) Escriba un programa que simule el lanzamiento de una moneda. Por cada lanzamiento, el programa deber imprimir cara o ceca. Haga que el programa lance la moneda
100 veces y cuente la cantidad de veces que aparece cada lado de la moneda. Imprima el resultado. El programa deber llamar a una funcin independiente que no recibe argumentos y devuelve 0 si es ceca y 1 si es cara.

Funciones Recursivas
1) Obtener una funcin recursiva que calcule la suma de los cuadrados de los n primeros nmeros enteros positivos.
2) Obtener una funcin recursiva que calcule ab (con a y b enteros positivos).
3) Escriba una funcin recursiva que calcule la divisin entera entre dos nmeros enteros en funcin de la resta obteniendo cociente y resto.
4) Escriba una funcin recursiva que imprima el inverso de un nmero entero dado;
muestre su funcionamiento en un programa.
5) Se desea calcular el capital total acumulado durante n aos por una inversin de un
capital de 100000 pesos que produce un inters del 12% anual. La cantidad de aos
deber ser ingresada por el usuario desde el teclado.
6) Hallar el mximo comn divisor (MCD) de dos nmeros mediante una funcin recursiva.

Vectores
1) Desarrollar una funcin que devuelva en un vector los nmeros primos entre 2 y 200.
2) Dados dos vectores A y B de N y M elementos enteros respectivamente, implemente
funciones para calcular la unin, interseccin y diferencia entre los dos conjuntos A
y B (en este ejercicio llamamos conjuntos a los vectores).
3) Escribir un programa que cargue en un vector llamado bisiestos todos los aos bisiestos correspondientes al intervalo de tiempo que va entre los aos 1800 y 2004.
Ej.: Son bisiestos los aos 1988, 1992, 2000; No lo son 1800, 1853, 1900.
4) Dados dos vectores A y B de N elementos cada uno, se desean calcular:
a) El vector suma: C(i) = a(i) + b(i)
b) El producto escalar: p = a(i)*b(i)

5) Construya un programa que inicialice un vector con la cantidad de das de cada mes
del ao, luego ingrese un nmero de mes e imprima cuntos das tiene.
6) Disear una funcin que ordene el vector V de N elementos eliminando, de paso,
todos aquellos que se repitan.
7) Construir un algoritmo que para cada auto participante en una carrera de TC2000 lea
un cdigo de auto y dos tiempos de vuelta (en segundos y centsimas). Previamente
se debe leer la longitud del circuito. Dada una serie de cdigos de autos ledos a continuacin, se deben informar las velocidades promedio correspondientes a cada tiempo de vuelta de dichos autos. Ambos conjuntos de datos se terminan con un cdigo
de auto negativo.
8) Por cada alumno que rindi un examen de ingls se lee el nmero de padrn, el cdigo de carrera (entre 1 y 9) y la nota obtenida. Se desea saber la cantidad de alumnos
por carrera que rindieron el examen y el porcentaje de alumnos que obtuvieron cada
nota. Hallar el porcentaje de alumnos de cada carrera que resultaron aprobados.
9) Se lee un vector X de N elementos (enteros). Escribir una funcin que devuelva un
vector que tenga todos los elementos de X, pero sin incluir los repetidos.
10) En un comercio trabajan 5 vendedores que se identifican con un nmero del 1 al 5.
Por cada venta que realizan se tiene: n de vendedor y total de la venta. El fin de la
informacin se indica con un nmero de vendedor cero. Se pide:
a) Informar cunto vendi cada vendedor.
b) Determinar qu vendedor vendi ms.
11) Escribir un programa que lea una serie de fechas (da, mes y ao), la cantidad de
pasajeros transportados por una lnea area en esa fecha y el monto recaudado en
dlares, determinando en qu das del perodo se transportaron ms de 2000 pasajeros (puede no haber ninguno), indicando el monto recaudado en ese/os da/s. Tambin deber emitirse un listado de los das en que el monto recaudado super los
500.000 dlares (puede no haber ninguno). Ambos listados deben ser emitidos por
separado. El lote de datos termina en una fecha invlida. El perodo no ser mayor a
366 das.

Matrices
1) Escribir una funcin que, invocada como Mltiplo(A,B,N) verifique que la matriz B
sea mltiplo de la matriz A (ambas cuadradas y de orden N).

2) Por cada alumno que aprueba una materia en la facultad de Ingeniera se ingresa el
nmero de padrn del alumno y el cdigo de la materia aprobada. El lote de datos
termina con un nmero de padrn negativo. Se pide:
a) Un listado en el que, para cada alumno, conste la cantidad de materias aprobadas.
b) Un listado de materias que fueron aprobadas por lo menos por un alumno.
c) El o los nmeros de padrn de los alumnos que aprobaron la mayor cantidad de
materias.
3) Disear un algoritmo que halle una matriz C como suma de dos matrices A y B. La
dimensin de las matrices de MxN se lee como dato.
4) Disear un algoritmo que halle un vector cuyos elementos son la suma de los elementos de cada fila de una matriz previamente ingresada.
5) Escribir un programa que calcule la traza de una matriz cuadrada. Recordar que la
traza de una matriz es la suma de los elementos de su diagonal principal.
6) Disear un algoritmo que determine si una matriz cuadrada ingresada es la matriz
identidad.
7) Escribir una funcin que, al ser invocada, determine si la matriz M, cuadrada y de
orden N, es tridiagonal. Una matriz es tridiagonal cuando los nicos elementos distintos de cero son los que se encuentran sobre la diagonal principal y sus dos diagonales paralelas adyacentes.
8) Se dice que una matriz tiene un punto de silla si alguna posicin de la matriz es el
menor valor de su fila y el mayor de su columna. Escribir un programa que tenga
como entrada una matriz de nmeros enteros, y calcule la posicin de un punto de silla (si es que existe).
9) Escribir una funcin que, al ser invocada, determine si la matriz M, cuadrada y de
orden N, es simtrica respecto de su diagonal secundaria. Se denomina diagonal secundaria a los elementos de la matriz que estn sobre la lnea que va desde el ngulo
superior derecho hasta el ngulo inferior izquierdo de la misma.
10) Dada una matriz de MxN y un vector de S elementos, determinar si los elementos del
vector pertenecen a la matriz.
11) Escribir una funcin que, al ser invocada, verifique que la matriz A (cuadrada y de
orden N) sea una matriz diagonal dominante.
Una matriz diagonal dominante es aquella en la que cada valor absoluto, de un elemento de la diagonal principal, es mayor a la suma de los valores absolutos del resto
de los elementos de su fila, ms la suma de los valores absolutos del resto de los
elementos de su columna.

Resoluciones
Secuencia
1)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float a,b,c,d;
cout<<"Ingrese radio de la esfera: ";
cin>>a;
c=3.1415926535897932;
b=(4*c*a*a*a)/3;
d=4*c*a*a;
cout<<"La superficie de la esfera es: "<<d;
cout<<"\n";
cout<<"El volumen de la esfera es: "<<b;
cout<<"\n";
system("PAUSE");
}

2)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
cout<<"************"<<endl<<"****HOLA****"<<endl<<"************"<<endl;
system("PAUSE");
}

3)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
float base,altura;
cout<<"Introduzca la base del rectangulo: ";
cin>>base;
cout<<"Introduzca la altura del rectangulo: ";
cin>>altura;
cout<<"El perimetro es: "<<2*base+2*altura<<endl;
cout<<"La superficie es: "<<base*altura<<endl;
system("PAUSE");
}

Funcin RAND
1)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
cout<<"Oprima una tecla para tirar 2 dados 100 veces consecutivas."<<endl;
system("PAUSE");
srand(time(0));
int a,b,C,i;
C=0;
for(i=1;i<=100;i++)
{
a=rand()%6 + 1;
b=rand()%6 + 1;
if((a+b)==10)
{
C++;
}
}
cout<<"Entre los 2 dados se sumo diez "<<C<<" veces."<<endl;
system("PAUSE");
}

3)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
srand(time(0));
int C1,C2,C3,a,num;
C1=0;C2=0;C3=0;
a=rand()%1000 + 1;
cout<<"Este programa selecciona un numero entero aleatorio entre 1 y 1000"<<endl;
cout<<"Debe adivinar cual es el numero elegido"<<endl<<"Introduzca un numero: ";
cin>>num;
while(num!=a)
{
if(num<a)
{
cout<<"El digito propuesto es menor al correcto"<<endl;
C1++;
cout<<"Proponga otro numero: ";
cin>>num;
}
else
{
cout<<"El digito propuesto es mayor al correcto"<<endl;
C2++;
cout<<"Proponga otro numero: ";
cin>>num;
}
}
C3++;
cout<<"Correcto!, Felicitaciones!, ha ganado en "<<C1+C2+C3<<" intentos"<<endl;

system("PAUSE");
}

Vectores
2)
#include <cstdlib>
#include <iostream>
using namespace std;
void UNION(float A[],int N,float B[],int M,float union_vectores[],int H)
{
int i,j;
for(i=0;i<N;i++)
{
union_vectores[i]=A[i];
}
for(j=0;j<M;j++)
{
union_vectores[N+j]=B[j];
}
}
void INTERSECCION(float A[],int N,float B[],int M)
{
int i,j;
for(i=0;i<N;i++){
for(j=0;j<M;j++)
{
if(A[i]==B[j])
{
cout<<A[i]<<"|";
break;
}
}
}
int main()
{
int N,M;
cout<<"Ingrese las dimensiones de cada vector: ";
cin>>N>>M;
float A[N];
float B[M];
int i;
float vector_union[N+M];
cout<<"Ingrese los valores del vector A: ";
for(i=0;i<N;i++)
{
cin>>A[i];
}
cout<<"Ingrese los valores del vector B: ";
for(i=0;i<M;i++)
{
cin>>B[i];
}
UNION(A,N,B,M,vector_union,N+M);
cout<<"La union de los conjuntos A y B esta compuesta por los siguientes
valores:"<<endl;
for(i=0;i<(N+M);i++)

{
cout<<vector_union[i]<<"|";
}
cout<<endl;
cout<<"La interseccion de ambos vectores es el conjunto formado por: "<<endl;
INTERSECCION(A,N,B,M);
cout<<endl;
system("PAUSE");
}

3)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int i,n=0;
int BISIESTOS[100]={0};
for(i=1800;i<=2004;i++)
{
if(((i%4)==0)&&(i!=1800)&&(i!=1900))
{
BISIESTOS[n]=i;
n++;
}
}
n=0;
cout<<"Los aos bisiestos entre 1800 y 2004 son: ";
while(BISIESTOS[n]!=0)
{
cout<<BISIESTOS[n]<<"|";
n++;
}
cout<<endl;
system("PAUSE");
}

4) (Se tom N = 10, pero es sencillo establecer un N ingresado por el ususario)


#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int i;
float A[10];
float B[10];
float SUMA[10];
float producto=0;
cout<<"Ingrese los valores del vector A: ";
for(i=0;i<10;i++)
{cin>>A[i];}
cout<<"Ingrese los valores del vector B: ";
for(i=0;i<10;i++)
{cin>>B[i];}
for(i=0;i<10;i++)
{SUMA[i]=(A[i]+B[i]);}
cout<<"El vector suma es: ";
for(i=0;i<10;i++)

{cout<<SUMA[i]<<"|";}
cout<<endl;
for(i=0;i<10;i++)
{producto+=(A[i]*B[i]);}
cout<<"El producto interno entre ambos vectores es: "<<producto<<endl;
system("PAUSE");
}

7)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int CODIGO[100]={0};
float TIEMPO1[100];
float TIEMPO2[100];
int i=0,codigo;
float longitud;
cout<<"Ingrese distancia del circuito en metros: ";
cin>>longitud;
cout<<"Ingrese un codigo de auto y tiempo de primera y segunda vuelta (segundos y
centesimas separados por un punto). Luego de ingresar cada valor presionar
ENTER."<<endl;
cout<<"Cuando desee dejar de introducir datos debe ingresar un codigo de auto
negativo o nulo."<<endl;
cout<<"Puede ingresar un maximo de 100 codigos."<<endl;
cout<<"Codigo: ";
cin>>CODIGO[0];
while((CODIGO[i]>0)&&(i<100))
{
cout<<"Primer vuelta: ";
cin>>TIEMPO1[i];
cout<<"Segunda vuelta: ";
cin>>TIEMPO2[i];
i++;
cout<<"Codigo: ";
cin>>CODIGO[i];
}
cout<<"Ingrese los codigos de auto para los cuales desee conocer velocidad
promedio de primer y segunda vuelta."<<endl;
cout<<"Cuando quiera salir del sistema ingrese un codigo de auto negativo o
nulo."<<endl;
cin>>codigo;
while(codigo>0)
{
for(i=0;i<100;i++){
if(CODIGO[i]==codigo){
cout<<"Primer vuelta:
"<<(longitud/TIEMPO1[i])<<
"m/s"<<endl<<"Segunda vuelta:
"<<(longitud/TIEMPO2[i])<<
"m/s"<<endl;
break;
}
if(i==99){
cout<<"No se ha encontrado el codigo."<<endl;
}
}
cin>>codigo;
}
system("PAUSE");

10)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int i,n,venta;
float ventmax=0;
int VENDEDORES[5];
float VENTAS[5]={0};
for(i=0;i<5;i++){
VENDEDORES[i]=(i+1);
}
cout<<"Ingrese numero de vendedor (1 a 5) y monto de venta (presionar ENTER
luego de cada uno). Cuando haya terminado de ingresar los datos tipee un numero
de vendedor nulo."<<endl;
cout<<"Vendedor: ";
cin>>n;
while(n!=0){
if((n>=1)&&(n<=5)){
cout<<"Monto: ";
cin>>venta;
VENTAS[(n-1)]+=venta;
}
else{
cout<<"Vendedor incorrecto."<<endl;
}
cout<<"Vendedor: ";
cin>>n;
}
cout<<"Las ventas totales de cada vendedor son: "<<endl;
for(i=0;i<5;i++){
cout<<"Vendedor "<<(i+1)<<": "<<VENTAS[i]<<endl;
}
for(i=0;i<5;i++){
if(ventmax<VENTAS[i]){
ventmax=VENTAS[i];
n=(i+1);
}
}
cout<<"El vendedor que mas vendio es: "<<n<<endl;
system("PAUSE");
}

Matrices
2)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
cout<<"Recordatorio para el programador: este programa opera con una matriz de 3
filas en lugar de utilizar 3 vectores por separado."<<endl<<"Donde la fila 0

almacena los padrones, la fila 1 los codigos de materia"<<endl<<" y la fila 2


la cantidad de materias aprobadas"<<endl;
int i=0,C;
int PADCOD[3][100]={0};
cout<<"Ingrese padron del alumno y codigo de la materia aprobada, cuando desee
dejar de introducir datos debe escribir un padron negativo."<<endl;
cout<<"Se podra introducir un maximo de 100 registros."<<endl;
cout<<"Padron: ";
cin>>PADCOD[0][0];
while (PADCOD[0][i]>=0){
cout<<"Codigo de materia: ";
cin>>PADCOD[1][i];
PADCOD[2][i]++;
i++;
cout<<"Padron: ";
cin>>PADCOD[0][i];
}
cout<<"Se mostrara un listado con la cantidad de materias aprobadas por cada alumno:
"<<endl;
for(i=0;i<100;i++){
cout<<"Padron: "<<PADCOD[0][i]<<"/ Cantidad de materias:
"<<PADCOD[2][i]<<endl;
if(PADCOD[2][i]==0){
break;
}
}
cout<<"Listado de materias aprobadas por cada alumno: "<<endl;
for(i=0;i<100;i++){
cout<<"Padron: "<<PADCOD[0][i]<<
system("PAUSE");
}

3)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int i,j,N,M;
cout<<"Escriba dimension de las matrices A y B (filas, columnas), sera la misma
para ambas: "<<endl;
cin>>N>>M;
float matrizA[N][M];
float matrizB[N][M];
float matrizC[N][M];
cout<<"Escriba los datos de la matriz A, comenzando por la primer fila: "<<endl;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
cin>>matrizA[i][j];
}}
cout<<"Escriba los datos de la matriz B, comenzando por la primer fila: "<<endl;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
cin>>matrizB[i][j];
}}
for(i=0;i<N;i++){
for(j=0;j<M;j++){
matrizC[i][j]=(matrizA[i][j]+matrizB[i][j]);
}}
cout<<"La matriz suma de A y B es: "<<endl;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
cout<<"|"<<matrizC[i][j]<<"|";
if(j==(M-1)){

}}

cout<<endl;
}

system("PAUSE");
}

4)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int N,M,i,j;
cout<<"Ingrese dimension de la matriz (filas, luego columnas): ";
cin>>N>>M;
float VECTOR[N];
float MATRIZ[N][M];
cout<<"Ingrese los datos de la matriz comenzando por la fila 1:"<<endl;
for(i=0;i<N;i++){
for(j=0;j<M;j++){
cin>>MATRIZ[i][j];
VECTOR[i]+=MATRIZ[i][j];
}}
cout<<"El siguiente vector muestra, en cada componente, la suma de los elementos
de cada fila de la matriz ingresada, comenzando por la primer fila:"<<endl;
for(i=0;i<N;i++){
cout<<VECTOR[i]<<"|";
}
cout<<endl;
}

system("PAUSE");

5)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int n,i,j;
float traza=0;
cout<<"Ingrese dimension de la matriz cuadrada: ";
cin>>n;
float matriz[n][n];
cout<<"Ingrese los valores de la matriz, comenzando por la primer fila y
separando los datos con espacios."<<endl;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cin>>matriz[i][j];
if(i==j){
traza+=matriz[i][j];
}
}
}
cout<<"La traza de la matriz es: "<<traza<<endl;
system("PAUSE");
}

6)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int n,i,j,aux=0,aux2=0;
cout<<"Ingrese dimension de la matriz cuadrada: ";
cin>>n;
float matriz[n][n];
cout<<"Ingrese los valores de la matriz comenzando por la fila 1, separando los
datos con espacio o presionando ENTER luego de cada uno."<<endl;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
cin>>matriz[i][j];
if((i==j)&&(matriz[i][j]==1)){
aux++;
}
if((i!=j)&&(matriz[i][j]==0)){
aux2++;
}
}}
if(aux==n && aux2==((n*n)-n)){
cout<<"La matriz ingresada es la matriz
identidad."<<endl;
}
else{
cout<<"La matriz ingresada no es la matriz identidad."<<endl;
}
system("PAUSE");
}

S-ar putea să vă placă și