Anda di halaman 1dari 14

Suma de dos matrices

Realizar un programa que permita realizar la suma de matrices en un ejercicio recurrentes de los
cursos de programacin, y se puede estructurar ms fcil el programa si se tienen conocimientos
de lgebra lineal.
A continuacin el cdigo para realizar la suma de 2 matrices que deben tener igual nmero, tanto
de filas, como de columnas.
#include <iostream>
using namespace std;
int row,fil,i,j;
int main()
{

cout <<"Ingrese el numero de filas "<<endl;


cin >>fil;
cout <<"Ingrese el numero de columnas "<<endl;
cin >>row;
int matriz1[fil][row];
for
{

(i=0;i<=fil-1;i++)
for

(j=0;j<=row-1;j++)

{
cout <<"Ingrese la posicion
"<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz 1"<<endl;
cin >>matriz1[i][j];
}
}
system("pause");
int matriz2[fil][row];
for

(i=0;i<=fil-1;i++)

{
for

(j=0;j<=row-1;j++)

{
cout <<"Ingrese la posicion
"<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz 2"<<endl;

cin >>matriz2[i][j];
}
}
system("pause");
cout << "A continuacion se sumaran las matrices ingresadas
"<<endl;
system("pause");
int matriz3[fil][row];
for

(i=0;i<=fil-1;i++)

{
for

(j=0;j<=row-1;j++)

{
matriz3[i][j]= matriz1[i][j]+matriz2[i][j];
cout << "Valor posicion "<<"("<<i<<")"<<"("<<j<<"):
"<<matriz3[i][j]<<endl;
}
}
cout << "Gracias por usar este programa "<<endl;
system("pause");
return

0;

Resta de dos matrices

Serie Fibonacci: Imprimir primeros 'n' nmeros


En la programacin en general, no solo en lenguaje C, recurrir a ejercicios relativos a la serie de
Fibonacci es todo un clsico, y en este ejercicio, la idea es imprimir los primeros n nmeros de la
serie, donde 'n' es un valor predefinido y por restricciones del lenguaje, no debe ser un nmero
muy grande.
Vamos a imprimir los primeros 20 nmeros de la serie en Dev-C.
#include <iostream>

using namespace std;

int anterior1,anterior2,actual,i;

int main (void)


{
cout << "Este programa imprimira los 20 primeros numeros de la
serie de Fibbonacci" <<endl;
system("pause");
anterior1=0;
anterior2=1;
cout <<anterior1<<endl;
cout <<anterior2<<endl;
for (i=1;i<=20;i++)
/* El 20 hace referencia a la cantidad de numeros a imprimir */
{
actual=anterior1+anterior2;
anterior1=anterior2;
cout <<actual<<endl;
anterior2=actual;
}
system("pause");
return 0;
}

Tambien en este caso, es posible modificar el programa para que el usuario ingrese el valor de 'n',
y sera mejor, en vez de declarar los nmeros como int, hacerlo como long double, pues abarca
una cantidad mayor de dgitos cuando los nmeros empiezan a hacerse muy grandes, y quedara
as:

long double anterior1,anterior2,actual,i;

long double main (void)

Imprimir Pares e Impares desde 1 hasta 'n'


Este es un ejemplo sencillo de la combinacin de uso de ciclos (For en este caso) y de
condicionales.
La idea es imprimir primero todos los nmeros impares desde 1 hasta n, y luego los pares,
teniendo en cuenta que "n" es un valor predefinido, aunque podra realizarse una modificacin
sencilla para que el usuario ingrese ese nmero.
Vamos all.
#include <iostream>

using namespace std;

int a,b,c,d;

int main (void)


{
cout << "Impresion de numeros impares de 1 a 999" <<endl<<endl;
system("pause");
for (a=1 ; a<=1000 ; a++)
{
b=a%2;
if (b==1)
{
cout <<a<<endl;
}
}
system("pause");
cout << "Impresion de numeros pares de 1 a 1000" <<endl<<endl;
system("pause");
for (d=1 ; d<=1000 ; d++)

{
c=d%2;
if (c==0)
{
cout <<d<<endl;
}
}
system("pause");
return 0;
}

Calcular el Factorial de un Nmero Ingresado en


C++
Otro ejercicio comn en los cursos de programacin es el de disear un programa que te calcule
el factorial de un nmero ingresado.
El enunciado sera el siguiente:
Crear un programa que lea un nmero n y le calcule el factorial.
Bueno pues, vamos all.

#include <iostream.h>

int a,b,factorial;

int main (void)


{
cout << "Este programa calculara el factorial del numero entero
que ingrese \nPor favor ingrese su numero " <<endl;
cin >> a;
factorial=1;
for (b=1 ; b<=a ; b++)
{

factorial=b*factorial;
}

cout << "El factorial del numero ingresado es "


<<factorial<<endl;

system("pause");
return 0;
}
Al igual que en nuestro anterior ejemplo del programa en C para realizar clculos de potencias, es
muy importante antes del ciclo inicializar el valor de la multiplicacin acumulada con el mdulo de
la multiplicacin, que es el uno.
Sin este pequeo detalle, el programa te dara calculos con errores.

Imprimir Numeros y sus Respectivos Cuadrados


Cuando vemos CICLOS en la programacin en C, es importante saber utilizar la estructura de los
mismos para lograr lo que queremos.
El enunciado del ejercicio sera el siguiente:
Imprimir un listado con los nmeros del 1 al 100 cada uno con su respectivo cuadrado.
Ya saben, trabajando con ciclos podemos lograr el mismo resultado usando distintas estructuras
con FOR, WHILE o WHILE + DO, solo habra que tener cuidado al escribir el algoritmo y las
distintas instrucciones a emplear.

#include <iostream.h>

int a,b,c;

int main(void)
{
for (a=1 ; a<=100; a++)
{
c=a*a;

cout << a << " y su cuadrado es " <<c<<endl;


}

system("pause");
return 0;
}
Personalmente prefiero trabajar CICLOS usando la instruccin FOR, pero es bueno pensar en
hacer los mismos ejercicios a travs de diferentes instrucciones y estructuras.

Potenciacin en C++
#include <iostream.h>

int base,potencia,ans,i;

int main (void)


{
cout << "Por favor ingrese la base" <<endl;
cin >> base;
cout << "Por favor ingrese la potencia" <<endl;
cin >> potencia;
ans=1;
for (i=1 ; i<=potencia; i++)
{
ans=ans*base;
}
cout << "El resultado es " <<ans<<endl;
system("pause");
return 0;
}

Leer 20 nmeros y determinar el mayor y el menor


Este ejercicio si es bien interesante, y tiene ciertos trucos para que funcione.
RRecuerda que en la programacin en general, sea en C, C++, Pascal, HTML, Java, PHP y
dems, la lgica es un factor indispensable.
El enunciado del ejercicio es el siguiente:
Leer 20 nmeros y encontrar el mayor y el menor valor ledos.
Para este ejercicio, emplear un CICLO FOR para leer los 20 datos que debe ingresar el usuario, y
dentro del mismo ciclo, ANIDAR UN PAR DE CONDICIONES para que determine el nmero
mayor y menor de los valores que se ingresan.

#include <iostream.h>

int i,mayor,menor,a;

int main (void)


{
cout << "Bienvenido \nIngrese 20 numeros y el programa determinara
el mayor y el menor" <<endl<<endl;
menor = 99999999;
mayor = -999;
for (a=1 ; a<=20 ; a++)
{
cout << "Ingrese numero" <<endl;
cin >> i;
if(i>mayor)
{
mayor=i;
}
if(i<menor)
{

menor=i;
}
}

cout << "El numero mayor ingresado es " <<mayor<<endl;


cout << "El numero menor ingresado es " <<menor<<endl;
system("pause");
return 0;
}
Este ejercicio se puede hacer seguramente ms bonito, pero bueno, aqu est el truco para que
funcione:
Al principio, declaro los nmeros mayor y menor con valores preestablecidos, el mayor, un
nmero muy "pequeo" dentro del conjunto de los nmeros reales, y el menor, todo lo contrario,
un nmero muy "grande"; todo esto, para que con cada iteracin del ciclo, suponiendo que el
usuario no ingresa cifras exhorbitantes, se asignen correctamente ambos valores del mayor y el
menor.

Tasas de Crecimiento de 2 Pases


El enunciado del ejercicio dice as:
En 1994 el pas A tiene una poblacin de 25 millones de habitantes y el pas B de 19.9 millones.
Las tasas de crecimiento de la poblacin son de 2% y 3% respectivamente.
Desarrollar un algoritmo para informar en que ao la poblacin del pas B supera a la de A.
Como la idea que surge a partir del enunciado es ir realizando varios clculos consecutivos hasta
determinar en qu ao sucede, emplearemos un CICLO WHILEpara realizar nuestros clculos.

#include <iostream.h>

double a=25;
double b=19.9;

int main (void)

{
cout << "Bienvenido" <<endl<<endl;
system("pause");
cout << "En el ano 1994" <<endl;
cout << "La poblacion inicial del pais A es de 25 millones de
habitantes" <<endl<<endl;
system("pause");
cout << "La poblacion inicial del pais B es de 19.9 millones de
habitantes" <<endl<<endl;
system("pause");
cout << "Si la poblacion de A crece a un ritmo de 2% anual \nSi la
poblacion de B crece a un ritmo de 3% anual \n" <<endl<<endl;
system("pause");
int c=0;
while(a>b)
{
a=a+(a*0.02);
b=b+(b*0.03);
c++;
}
int d;
d=1994+c;
cout << "La poblacion del pais B supera a la del pais A
en el ano " <<d<<endl;

cout << "Muchas gracias por utilizar este programa" <<endl<<endl;


system("pause");
return 0;
}
Como vers, con el nmero de veces que se ejecuta el ciclo WHILE siempre que el dato del pas B
sea inferior al del pas A, calculamos cuantos aos transcurren, y luego empleo una variable para
que sume ese nmero de iteraciones al valor inicial que es 1994.

Cajero usando casos


Este ejemplo simula un cajero, solo que, a diferencia del ejemplo anterior donde lo hicimos
con condicionales, este trabaja con los casos, es decir, empleando SWITCH

#include <iostream.h>

int a=0;
int main (void)
{
cout << "Bienvenido a su cajero \n Por favor seleccione que desea
hacer: \n 1. Consignacion \n 2. Retiro \n 3. Pago de Servicios \n 4.
Cambio de Clave \n 5. Consulta de Saldo \n" <<endl;
cin >> a;
switch(a)
{
case(1):
{
cout << "Ha seleccionado realizar una consignacion \n Gracias por
su visita" <<endl;
break;
}
case(2):
{
cout << "Ha seleccionado realizar un retiro \n Gracias por su
visita" <<endl;
break;
}
case(3):
{

cout << "Ha seleccionado realizar pago de servicios \n Gracias por


su visita" <<endl;
break;
}
case(4):
{
cout << "Ha seleccionado cambiar su clave \n Gracias por su visita"
<<endl;
break;
}
case(5):
{
cout << "Ha seleccionado realizar una consulta de saldo \n Gracias
por su visita" <<endl;
break;
}
default:
{
cout << "El numero introducido no corresponde a una opcion
valida \n Gracias por su visita" <<endl;
break;
}
}
system("pause");
return 0;
}
Notars que para cada caso que se asigna, debemos definir un bloque de instrucciones; todo esto,
empleando SWITCH; y que al final, usamos la instruccin o caso DEFAULT para indicar un bloque
que se ejecutar en caso que no se seleccione un caso definido previamente.

Dividir un arreglo numrico por el mayor


Tal vez el ttulo del ejercicio no es muy explcito en si, pero la idea es la siguiente:
El usuario debe ingresar cuantos nmeros enteros desea usar, y luego cuando termine de ingresar
todos los valores, se debe determinar cual ha sido el nmero mayor de todos los ingresados, para

posteriormente tomar cada elemento del arreglo y dividirlo por ese nmero mayor.
Ah va:

#include <iostream>

using namespace std;

int tamano,i,j;
double arreglo[20];
double mayor;

int main(void)
{
cout << "Por favor ingrese cuantos numeros desea emplear" <<endl;
cin >> tamano;
for (i=0;i<tamano;i++)
{
cout << "Por favor ingrese el dato " <<endl;
cin >> arreglo[i];
mayor=arreglo[i];
if(arreglo[i]>mayor)
{
mayor=arreglo[i];
}

}
for (j=0;j<tamano;j++)
{
arreglo[j]=(arreglo[j]/mayor);

cout << "La division resultante entre el numero "<<j+1<< " y


el mayor es "<<arreglo[j] <<endl;
}
system("pause");
return 0;
}

Hemos empleado, como en la mayora de ejercicios bsicos en Dev-C++, condicionales y ciclos, y


aunque parezca que con mayor frecuencia se recurre a usar la instruccin for, tambien se puede
estructurar el programa para que funcione usando la instruccin while; mas que todo, la decisin
queda a la convenencia del programador.

Multiplicacin de dos matrices

Anda mungkin juga menyukai