0% encontró este documento útil (0 votos)
366 vistas64 páginas

C

Los programas presentados resuelven problemas matemáticos y lógicos utilizando estructuras de control y funciones en C++. El primero calcula el área de un paralelepípedo. El segundo cuenta las vocales en una oración. El tercero compara cadenas en mayúsculas.

Cargado por

Emerson Newton
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
366 vistas64 páginas

C

Los programas presentados resuelven problemas matemáticos y lógicos utilizando estructuras de control y funciones en C++. El primero calcula el área de un paralelepípedo. El segundo cuenta las vocales en una oración. El tercero compara cadenas en mayúsculas.

Cargado por

Emerson Newton
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Promama Nº1 programa del área total de un paralelepípedo que contenga

ancho, largo,atura y área total.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int a,b,h,A,B,C,T;

cout<<"Ingrese el largo:";cin>>a;
cout<<"Ingrese el ancho:";cin>>b;
A=a*b;
cout<<"El area A es:"<<A<<endl;
cout<<"Ingrese la altura:";cin>>h;
B=b*h;
cout<<"El area B es:"<<B<<endl;
C=a*h;

cout<<"El area C es:"<<C<<endl;


T=2*A+2*B+2*C;

cout<<"El area total es:"<<T;


getch();
}
Programa Nº 2 contador de vocales cuando escribamos una oración
#include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;


int main(){
char frase[30];
int vocal_a=0,vocal_e=0,vocal_i=0,vocal_o=0,vocal_u=0;

cout<<"Digite una frase: ";


cin.getline(frase,30,'\n');

for(int i=0;i<30;i++){
switch(frase[i]){
case 'a': vocal_a++; break;
case 'e': vocal_e++; break;
case 'i': vocal_i++; break;
case 'o': vocal_o++; break;
case 'u': vocal_u++; break;
}

cout<<"\nContador de vocales"<<endl;
cout<<"Vocal a: "<<vocal_a<<endl;
cout<<"Vocal e: "<<vocal_e<<endl;
cout<<"Vocal i: "<<vocal_i<<endl;
cout<<"Vocal o: "<<vocal_o<<endl;
cout<<"Vocal u: "<<vocal_u<<endl;

getch();
return 0;
}
Programam Nº 3 programa de cadena de minusculas a mayusculas.
Compararlas, y decir si son iguales o no

#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
int main(){

char palabra1[30],palabra2[30];
cout<<"Digite una palabra: ";
cin.getline(palabra1,30,'\n');
cout<<"Digite una palabra: ";
cin.getline(palabra2,30,'\n');

strupr(palabra1);
strupr(palabra2);

if(strcmp(palabra1,palabra2)==0){
cout<<"\nAmbas cadenas son iguales";
}
else{
cout<<"Las cadenas no son iguales";
}

getch();
return 0;
}
Programa Nº 4 programa que determine si una palabra es políndroma

#include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;

int main(){
char palabra[20];
char palabra2[20];

cout<<"Digite una palabra: ";


cin.getline(palabra,20,'\n');
strcpy(palabra2,palabra);
strrev(palabra2);

if(strcmp(palabra,palabra2)==0){
cout<<"Es una palabra polindroma";
}
else{
cout<<"No es una palabra polindroma";
}
getch();
return 0;
}
Programa Nº5 programa que calcule las soluciones de una ecuación de
segundo grado de la forma ax^2 + bx + c = 0

#include<iostream>
#include<math.h>
using namespace std;

int main(){

float a,b,c,resultado1 = 0,resultado2 = 0;


cout<<"Digite el valor de a: "; cin>>a;
cout<<"Digite el valor de b: "; cin>>b;
cout<<"Digite el valor de c: "; cin>>c;

resultado1 = (-b+sqrt(pow(b,2)-4*a*c))/(2*a);
resultado2 = (-b-sqrt(pow(b,2)-4*a*c))/(2*a);

cout<<" El resultado 1 es: "<<resultado1<<endl;


cout<<"El resultado 2 es: "<<resultado2<<endl;

return 0;

}
Programa Nº 6 programa que solicite una edad (un entero) e indique en la

salida estándar si la edad introducida está en el rango [18-25]

#include<iostream>
using namespace std;

int main(){

int edad;
cout<<"Digite su edad: ";
cin>>edad;

if((edad>=18)&&(edad<=25)){
cout<<"Su edad esta en el rango de [18-25]";
}
else{
cout<<"Su edad esta fuera de rango";
}

return 0;

}
Programa Nº7 programa que tome como parámetros un vector de enteros y su
tamaño e imprima un vector con los elementos impares del vector recibido.

#include<iostream>
#include<conio.h>
using namespace std;

void pedirDatos();
void impares(int vec[],int);
int tam,vec[100];
int main(){
pedirDatos();
impares(vec,tam);
getch();
return 0;
}
void pedirDatos(){
cout<<"Digite el tamanio del vector: ";
cin>>tam;
for(int i=0;i<tam;i++){
cout<<i+1<<". Digite un numero: ";
cin>>vec[i];
}
}
void impares(int vec[],int tam){
int vecImpares[100];
int j=0;
for(int i=0;i<tam;i++){
if(vec[i]%2!=0){
vecImpares[j] = vec[i];
j++;
}
}
cout<<"\nImprimiendo los elementos impares del vector: "<<endl;
for(int i=0;i<j;i++){
cout<<vecImpares[i]<<" ";
}
Programa Nº8 :Programa que escriba una función recursiva que calcule un
número elevado a una potencia entera mayor o igual que cero: x^y.

#include<iostream>
#include<conio.h>
using namespace std;

int potencia(int,int);

int main(){

int base,exponente;
cout<<"Digite numero base: ";
cin>>base;
cout<<"Digite exponente: ";
cin>>exponente;

cout<<"\nResultado: "<<potencia(base,exponente)<<endl;

getch();
return 0;
}

int potencia(int x,int y){


int pot;
if(y==1){//Caso base
pot = x;
}
else{//Caso general
pot = x*potencia(x,y-1);
}
return pot;
}
Programa Nº9 diga 5 números y diga si están ordenados ascendentemente.*/

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int a, b, c, d, e, men;
cout<<"Ingrese cinco numero: ";
cin>>a>>b>>c>>d>>e;

men=a;
if(a<b&&b<c&&c<d&&d<e)
{
cout<<"Están ordenados ascendentemente..";
}
else
{
cout<<"No esta ordenados ascendentemente..";
}
getch();
}
Programa Nº10 : programa que lea una matriz dinámica de NxM y cree su
matriz traspuesta.

#include<iostream>
#include<conio.h>
using namespace std;
void pedirDatos();
void mostrarMatriz(int **,int,int);
int **puntero_matriz,nFilas,nCol;
int main(){
pedirDatos();
mostrarMatriz(puntero_matriz,nFilas,nCol);
//Liberando memoria de la matriz
for(int i=0;i<nFilas;i++){
delete[] puntero_matriz[i];}
delete[] puntero_matriz;
getch();
return 0;}
void pedirDatos(){
cout<<"Digite el numero de filas: ";
cin>>nFilas;
cout<<"Digite el numero de columnas: ";
cin>>nCol;

for(int i=0;i<nFilas;i++){
puntero_matriz[i] = new int[nCol]; }
cout<<"\nDigitando datos para la matriz: \n";
for(int i=0;i<nFilas;i++){
for(int j=0;j<nCol;j++){
cout<<"Digite un numero["<<i<<"]["<<j<<"]: ";
cin>>*(*(puntero_matriz+i)+j);
}
}
void mostrarMatriz(int **puntero_matriz,int nFilas,int nCol){
cout<<"\nMostrando matriz Original: \n";
for(int i=0;i<nFilas;i++){
for(int j=0;j<nCol;j++){
cout<<*(*(puntero_matriz+i)+j)<<" "; //puntero_matriz[i][j]
}
cout<<"\n";}
cout<<"\nMostrando matriz Transpuesta: \n";
for(int i=0;i<nFilas;i++){
for(int j=0;j<nCol;j++){
cout<<*(*(puntero_matriz+j)+i)<<" "; //puntero_matriz[j][i]
}
cout<<"\n";
}
}

Programa Nº11. pedir los datos para 2 alumnos, y calcular cuál de todos tiene
el mejor promedio, e imprimir sus datos.

#include<iostream>
#include<conio.h>
using namespace std;

struct Promedio{
float nota1;
float nota2;
float nota3;
};
struct Alumno{
char nombre[20];
char sexo[10];
int edad;
struct Promedio prom;
}alumnos[100];
int main(){
int n_alumnos,posM=0;
float promedio_alumno[100],mayor=0;
cout<<"Digite el numero de alumnos: ";
cin>>n_alumnos;
for(int i=0;i<n_alumnos;i++){
fflush(stdin);
cout<<"Nombre: "; cin.getline(alumnos[i].nombre,20,'\n');
cout<<"Sexo: "; cin.getline(alumnos[i].sexo,10,'\n');
cout<<"Edad: "; cin>>alumnos[i].edad;
cout<<".:Notas del Examen:."<<endl;
cout<<"Nota1: "; cin>>alumnos[i].prom.nota1;
cout<<"Nota2: "; cin>>alumnos[i].prom.nota2;
cout<<"Nota3: "; cin>>alumnos[i].prom.nota3;
promedio_alumno[i] =
(alumnos[i].prom.nota1+alumnos[i].prom.nota2+alumnos[i].prom.nota3)/3;

if(promedio_alumno[i] > mayor){


mayor = promedio_alumno[i];
posM = i;
}
cout<<"\n";}
cout<<"\n\nMostrando Datos del alumno con mejor Promedio"<<endl;
cout<<"Nombre: "<<alumnos[posM].nombre<<endl;
cout<<"Sexo: "<<alumnos[posM].sexo<<endl;
cout<<"Edad: "<<alumnos[posM].edad<<endl;
cout<<"Promedio: "<<promedio_alumno[posM];

getch();
return 0;
}

Programa Nº12 Que muestre un menú donde las opciones sean “Equilátero”,
“Isósceles” y “Escaleno”, pida una opción y calcule el perímetro del triángulo
seleccionado.
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int lado, base, opcion;

printf("Introduzca lado del triangulo:");


scanf("%d",&lado);
printf("Introduzca base del triangulo:");
scanf("%d",&base);
printf("Seleccione opcion:\n");
printf("1 - Equilatero\n");
printf("2 - Isosceles\n");
printf("3 - Escaleno\n");

scanf("%d",&opcion);

switch (opcion)
{
case 1:
printf("El perimetro es:%d\n",3*lado);
break;
case 2:
printf("El perimetro es:%d\n",(2*lado)+base);
break;
case 3:
printf("El perimetro es:%d\n",lado + lado + lado);
break;
default:
printf("Opcion no valida.");
break;
}

system("PAUSE");
return 0;
}
ProgramaNº 13. programa que defina una matriz de 3x3 y escriba un ciclo para
que muestre la diagonal principal de la matriz.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int numeros[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

cout<<"Mostrando Matriz completa\n";

for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cout<<numeros[i][j];
}
cout<<"\n";
}

cout<<"\n\nMostrando diagonal principal de la matriz\n";

for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
if(i==j){
cout<<numeros[i][j]<<endl;
}
}
}

getch();
return 0;
}
Programa Nº 14 programa que lea 5 numeros en un arreglo, los copie a otro arreglo
multiplicados por 2 y muestre el segundo arreglo.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int numeros[5],numeros2[5];

for(int i=0;i<5;i++){
cout<<i+1<<". Digite un numero: "; cin>>numeros[i];
}

for(int i=0;i<5;i++){
numeros2[i] = numeros[i]*2;
}

cout<<"\nMostrando numeros multiplicados por 2:\n\n";

for(int i=0;i<5;i++){
cout<<numeros2[i]<<endl;
}

getch();
return 0;
}
Programa Nº 15 programa que solicite al usuario que piense un número entero
entre el 1 y el 100. El programa debe generar un numero aleatorio en ese
mismorango[1-100],e indicarle al usuario si el numero que digito es menor o
mayor

#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;

int main(){
int numero,dato,contador=0;

srand(time(NULL)); //generar un numero aleatorio entre 1-100


dato = 1 + rand()%(101-1);

do{
cout<<"Digite un numero: "; cin>>numero;
if(numero>dato){
cout<<"Es un numero menor\n";
}
else if(numero<dato){
cout<<"Es un numero mayor\n";
}
contador++;
}while(numero != dato);

cout<<"\n¡FELICIDADES ADIVINO EL NUMERO!"<<endl;


cout<<"Numero de intentos: "<<contador<<endl;

system("pause");
return 0;
}
Programa Nº 16 programa que una expresión de (a/b) + 1

#include<iostream>

using namespace std;

int main(){
float a,b,resultado=0;

cout<<"Digite el valor de a: ";


cin>>a;
cout<<"Digite el valor de b: ";
cin>>b;

resultado = (a/b) + 1;

cout.precision(2);

cout<<"El resultado es: "<<resultado;

return 0;
}
Programa Nº 17 programa que rellene datos de personas que tienen o no
tienen dispaciadadad

#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;

struct Persona_discapacidad{
char nombre[30];
bool discapacidad;
}personas[30],personasConD[30],personasSinD[30];
//personasConD = Persona con Discapacidad
//personasSinD = Persona sin Discapacidad

int main(){
int n_personas,j=0,k=0;

cout<<"Digite el numero de personas: ";


cin>>n_personas;
//Rellenar el arreglo de estructuras
for(int i=0;i<n_personas;i++){
fflush(stdin);
cout<<"Nombre : "; cin.getline(personas[i].nombre,30,'\n');
cout<<"Discapacidad (1/0)? :"; cin>>personas[i].discapacidad;

if(personas[i].discapacidad == 1){
strcpy(personasConD[j].nombre,personas[i].nombre);
j++; //Es un nuevo arreglo por lo tanto debe iniciar en 0 y
aumentar
}
else{
strcpy(personasSinD[k].nombre,personas[i].nombre);
k++;
}
cout<<"\n";
}
//Mostrar las personas con Discapaciadad
cout<<"\nPersonas con Discapacidad\n";
for(int i=0;i<n_personas;i++){
cout<<personasConD[i].nombre<<endl;
}
//Mostrar las personas sin Discapacidad
cout<<"\nPersonas sin Discapacidad\n";
for(int i=0;i<n_personas;i++){
cout<<personasSinD[i].nombre<<endl;
}
getch();
return 0;
}

Programa Nº 18 programa para rellenar una matriz pidiendo al usuario el


número de filas
y columnas, Posteriormente mostrar la matriz en pantalla.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int numeros[100][100],filas,columnas;

cout<<"Digite el numero de filas: "; cin>>filas;


cout<<"Digite el numero de columnas: "; cin>>columnas;

//Rellenando la matriz
for(int i=0;i<filas;i++){
for(int j=0;j<columnas;j++){
cout<<"Digite un numero ["<<i<<"]["<<j<<"]: ";
cin>>numeros[i][j];
}
}

cout<<"\nMostrando matriz\n\n";

for(int i=0;i<filas;i++){
for(int j=0;j<columnas;j++){
cout<<numeros[i][j];
}
cout<<"\n";
}

getch();
return 0;
}

Programa Nº19 programa que calcule el resultado de la siguiente expresion:


1-2+3-4+5-6...n

#include<iostream>
#include<stdlib.h>

using namespace std;

int main(){
int n,suma=0,par=0,impar=0,negativo=0;

cout<<"Digite el numero de elementos: ";


cin>>n;

for(int i=1;i<=n;i++){
if(i%2==0){//los numeros pares son negativos
negativo = i * -1; //los cambiamos de signo
par += negativo;
}
else{ //los impares son positivos
impar += i;
}
}

suma = par + impar;

cout<<"\nLa suma es: "<<suma<<endl;


system("pause");
return 0;
}

Programa Nº20 Suma de números Complejos

#include<iostream>
#include<conio.h>
using namespace std;

struct complejo{
float real,imaginaria;
}z1,z2;

void pedirDatos();
complejo suma(complejo,complejo);
void muestra(complejo);

int main(){
pedirDatos();

complejo x = suma(z1,z2);

muestra(x);
getch();
return 0;
}
void pedirDatos(){
cout<<"Digite el primer numero complejo: "<<endl;
cout<<"Parte Real: "; cin>>z1.real;
cout<<"Parte Imaginaria: "; cin>>z1.imaginaria;

cout<<"\nDigite el segundo numero complejo: "<<endl;


cout<<"Parte Real: "; cin>>z2.real;
cout<<"Parte Imaginaria: "; cin>>z2.imaginaria;
}

complejo suma(complejo z1,complejo z2){


z1.real += z2.real;
z1.imaginaria += z2.imaginaria;

return z1;
}
void muestra(complejo x){
cout<<"\nLa suma es: "<<x.real<<" , "<<x.imaginaria<<endl;
}
Programa Nº 21 Pedir al usuario 2 cadenas de caracteres de numeros, uno
entero y el otro real,convertirlos a sus respectivos valores y por ultimo sumarlos

#include<iostream>
#include<stdlib.h>
#include<conio.h>

using namespace std;

int main(){
char cad1[10],cad2[10];
int valorEntero;
float valorFlotante;

cout<<"Digite un numero entero: ";


cin.getline(cad1,10,'\n');
cout<<"Digite un numero flotante: ";
cin.getline(cad2,10,'\n');

valorEntero = atoi(cad1);
valorFlotante = atof(cad2);

cout<<"\nLa suma es: "<<valorEntero+valorFlotante<<endl;

getch();
return 0;
}
Programa Nº22 Escribe la siguiente expresión como expresión en C++
(a+b)(c+d)

#include<iostream>

using namespace std;

int main(){
float a,b,c,d,resultado = 0;

cout<<"Digite el valor de a: "; cin>>a;


cout<<"Digite el valor de b: "; cin>>b;
cout<<"Digite el valor de c: "; cin>>c;
cout<<"Digite el valor de d: "; cin>>d;

resultado = (a+b) / (c+d);

cout.precision(2);

cout<<"El resultado es: "<<resultado;

return 0;
}

Programa Nº23 Programa que simule un cajero automático con un saldo inicial
de 1000 Dólares

#include<iostream>

using namespace std;

int main(){
int saldo_inicial = 1000,opc;
float extra,saldo = 0,retiro;

cout<<"\tBienvenido a su cajero automatico"<<endl;


cout<<"1. Ingresar dinero en cuenta"<<endl;
cout<<"2. Retirar dinero de la cuenta"<<endl;
cout<<"3. Salir"<<endl;
cout<<"Opcion: ";
cin>>opc;

switch(opc){
case 1: cout<<"\nCuanto dinero desea ingresar en cuenta: ";
cin>>extra;

saldo = saldo_inicial + extra;


cout<<"\nDinero en cuenta: "<<saldo; break;
case 2: cout<<"\nCuanto dinero desea retirar: ";
cin>>retiro;

if(retiro > saldo_inicial){


cout<<"No cuenta con esa cantidad";
}
else{
saldo = saldo_inicial - retiro;
cout<<"\nDinero en cuenta: "<<saldo; break;
}
case 3: break;
dafault: cout<<"Se equivoco de opcion de menu";break;
}

return 0;
}
Programa Nº24 programa que almacene "n" números reales y calcular su
suma y promedio.

#include<iostream>
#include<conio.h>
using namespace std;

struct Nodo{
float dato;
Nodo *siguiente;
};

void insertarLista(Nodo *&,float);


void mostrarLista(Nodo *);
void calcularSumaPromedio(Nodo *);

int main(){
Nodo *lista = NULL;
float dato;
char opcion;

do{
cout<<"Digite un numero: ";;
cin>>dato;
insertarLista(lista,dato);

cout<<"\nDesea agregar otro elemento a lista(s/n): ";


cin>>opcion;
}while(opcion == 's' || opcion == 'S');

cout<<"\nElementos de la lista:\n";
mostrarLista(lista);

calcularSumaPromedio(lista);

getch();
return 0;
}

void insertarLista(Nodo *&lista,float n){


Nodo *nuevo_nodo = new Nodo();
Nodo *aux;

nuevo_nodo->dato = n;
nuevo_nodo->siguiente = NULL;
if(lista == NULL){//lista vacia
lista = nuevo_nodo;
}
else{
aux = lista; //aux señala el inicio de la lista
while(aux->siguiente != NULL){
}
aux->siguiente = nuevo_nodo;
}
cout<<"\tElemento "<<n<<" insertado a lista correctamente\n";
}

void mostrarLista(Nodo *lista){


while(lista != NULL){
}
}

void calcularSumaPromedio(Nodo *lista){


float suma=0,promedio=0;
int contador=0;

while(lista != NULL){

contador++;
lista = lista->siguiente;
}

promedio = suma / contador;


cout<<"\n\nLa suma es: "<<suma<<endl;
cout<<"El promedio es: "<<promedio<<endl;
}
Programa Nº 25 Realiza una función que tome como parámetros un vector de
números y sutamaño y cambie el signo de los elementos del vector.

#include<iostream>
#include<conio.h>
using namespace std;

void pedirDatos();
void cambiarSigno(int vec[],int);
void mostrarVector(int vec[],int);

int tam,vec[100];

int main(){

pedirDatos();
cambiarSigno(vec,tam);
mostrarVector(vec,tam);

getch();
return 0;
}

void pedirDatos(){
cout<<"Digite el tamanio del vector: ";
cin>>tam;

for(int i=0;i<tam;i++){
cout<<i+1<<". Digite un numero: ";
cin>>vec[i];
}
}

void cambiarSigno(int vec[],int tam){


for(int i=0;i<tam;i++){
vec[i] *= -1;
}
}

void mostrarVector(int vec[],int tam){


cout<<"\nMostrando vector con cambio de signo: "<<endl;
for(int i=0;i<tam;i++){
cout<<vec[i]<<" ";
}
}
Programa Nº26 programa que lea de la entrada estándar tres números.
Después debe leer un cuarto número e indicar si el número coincide con alguno
de los introducidos con anterioridad.

#include<iostream>
using namespace std;

int main(){
int n1,n2,n3,n4;

cout<<"Digite 3 numeros: ";


cin>>n1>>n2>>n3;

cout<<"Digite un 4to numero: ";


cin>>n4;

if((n1==n4)||(n2==n4)||(n3==n4)){
cout<<"El numero coincide con uno de los numeros anteriores";
}
else{
cout<<"El numero no coincide con ninguno de los anteriores";
}

return 0;
}
Programa Nº27. En una clase de 5 alumnos se han realizado tres exámenes y
se requiere
determinar el número de:
a) Alumnos que aprobaron todos los exámenes.
b) Alumnos que aprobaron al menos un examen.
c) Alumnos que aprobaron únicamente el último examen.

#include<iostream>

using namespace std;

int main(){
int examen1,examen2,examen3;
int
aprobaron_todos_examenes=0,aprobaron_almenos_uno=0,aprobaron_ultimo=
0;

for(int i=1;i<=5;i++){
cout<<i<<". Digite la nota del primer examen: "; cin>>examen1;
cout<<i<<". Digite la nota del segundo examen: "; cin>>examen2;
cout<<i<<". Digite la nota del tercer examen: "; cin>>examen3;
cout<<"\n";

if((examen1>10.5)&&(examen2>10.5)&&(examen3>10.5)){
aprobaron_todos_examenes++;
}

if((examen1>10.5)||(examen2>10.5)||(examen3>10.5)){
aprobaron_almenos_uno++;
}

if((examen1<10.5)&&(examen2<10.5)&&(examen3>10.5)){
aprobaron_ultimo++;
}
}

cout<<"\na) Aprobaron todos los examenes:


"<<aprobaron_todos_examenes;
cout<<"\nb) Aprobaron almenos un examen:
"<<aprobaron_almenos_uno;
cout<<"\nc) Aprobaron unicamente el ultimo examen:
"<<aprobaron_ultimo;

return 0;
}

Programa Nº28 programa que su nombre al usuario en MAYÚSCULA, si su


nombre comienza por la letra A, convertir su nombre a minusculas, caso
contrario no convertirlo.

#include<iostream>
#include<conio.h>
#include<string.h>

using namespace std;

int main(){
char nombre[20];

cout<<"Digite su nombre en MAYUSCULA: ";


cin.getline(nombre,20,'\n');

if(strncmp(nombre,"A",1)==0){
strlwr(nombre);
cout<<nombre<<endl;
}
else{
cout<<"Su nombre no comienza por A";
}
getch();
return 0;
}

Programa Nº 29: Realice una función que tome como parámetros un vector y
su tamaño y diga si el vector está ordenado crecientemente.

#include<iostream>
#include<conio.h>
using namespace std;

void pedirDatos();
void comprobarOrdenamiento(int vec[],int);

int vec[100],tam;

int main(){
pedirDatos();
comprobarOrdenamiento(vec,tam);

getch();
return 0;
}

void pedirDatos(){
cout<<"Digite el numero de elementos del vector: ";
cin>>tam;

for(int i=0;i<tam;i++){
cout<<i+1<<". Digite un numero: ";
cin>>vec[i];
}
}
void comprobarOrdenamiento(int vec[],int tam){
char band = 'F';

//1 2 3 4 5
int i=0;
while((band=='F')&&(i<tam-1)){
if(vec[i]>vec[i+1]){
band = 'V';
}
i++;
}

if(band == 'F'){
cout<<"\nEl arreglo esta ordenado en forma creciente";
}
else{
cout<<"\nEl arreglo NO esta ordenado";
}
}

Programa Nº30 programa que: Pide una cadena de caracteres al usuario, e


indicar cuantas
veces aparece la vocal a,e,i,o,u; en la cadena de caracteres.

#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;

void pedirDatos();
void contarVocales(char *);
char palabraUsuario[30];

int main(){
pedirDatos();
contarVocales(palabraUsuario);

getch();
return 0;
}

void pedirDatos(){
cout<<"Digite una palabra: ";
cin.getline(palabraUsuario,30,'\n');

strupr(palabraUsuario);
}

void contarVocales(char *palabra){


int contA=0,contE=0,contI=0,contO=0,contU=0;

while(*palabra){
case 'A': contA++;break;
case 'E': contE++;break;
case 'I': contI++;break;
case 'O': contO++;break;
case 'U': contU++;break;
}
palabra++;
}

cout<<"\nNumero de vocales A: "<<contA<<endl;


cout<<"Numero de vocales E: "<<contE<<endl;
cout<<"Numero de vocales I: "<<contI<<endl;
cout<<"Numero de vocales O: "<<contO<<endl;
cout<<"Numero de vocales U: "<<contU<<endl;
}
Programa Nº31 programa que calcule la descomposición en factores primos
de
un número entero.

Por ejemplo: 20 = 2*2*5.

#include<iostream>
#include<stdlib.h>

using namespace std;

int main(){
int numero;

cout<<"Digite un numero: ";


cin>>numero;

cout<<"\nDescomponiendo en factores primos: ";


for(int i=2;numero>1;i++){
while(numero%i==0){
cout<<i<<" ";
numero /= i;
}
}

cout<<"\n";
system("pause");
return 0;
}
Programa Nº 32 programa de una función que determine si una matriz es
simétrica o no.

#include<iostream>
#include<conio.h>
using namespace std;

void pedirDatos();
void comprobarSimetria(int m[][100],int,int);

int m[100][100],nfilas,ncol;

int main(){
pedirDatos();
comprobarSimetria(m,nfilas,ncol);

getch();
return 0;
}

void pedirDatos(){
cout<<"Digite el numero de filas: ";
cin>>nfilas;
cout<<"Digite el numero de columnas: ";
cin>>ncol;

//Pedimos todos los elementos de la matriz


for(int i=0;i<nfilas;i++){
for(int j=0;j<ncol;j++){
cout<<"Digite m["<<i<<"]["<<j<<"]: ";
cin>>m[i][j];
}
void comprobarSimetria(int m[][100],int nfilas,int ncol){
int cont = 0;

//Si es cuadrada
if(nfilas==ncol){
//y ademas si Aij = Aji
for(int i=0;i<nfilas;i++){
for(int j=0;j<ncol;j++){
if(m[i][j]==m[j][i]){
cont++;
}
if(cont == nfilas*ncol){
cout<<"\nLa matriz es Simetrica";
}
else{
cout<<"\nLa matriz NO es simetrica";
}

Programa Nº33 programa que indique el tiempo empleado por un ciclista en


una etapa que debe tener tres campos: horas, minutos y segundos. Escriba un
programa que dado n etapas calcule el tiempo total empleado en
correr todas las etapas.

#include<iostream>
#include<conio.h>
using namespace std;

struct tiempo_ciclista{
int horas;
int minutos;
int segundos;
}etapa[10];
int main(){
int n_etapas,horasT=0,minutosT=0,segundosT=0;

cout<<"Digite el numero de etapas: ";


cin>>n_etapas;

cout<<"\nDigite el tiempo Obtenido:"<<endl;

for(int i=0;i<n_etapas;i++){
//Pedimos las horas en cada etapa
cout<<i+1<<". Horas: "; cin>>etapa[i].horas;
cout<<i+1<<". Minutos: "; cin>>etapa[i].minutos;
cout<<i+1<<". Segundos: "; cin>>etapa[i].segundos;
horasT = horasT+etapa[i].horas; minutosT =
minutosT+etapa[i].minutos;
if(minutosT>=60
minutosT-=60;//mas de 1 hora, entonces disminuimos en 60 los minutos
horasT++;
}
segundosT = segundosT+etapa[i].segundos;
if(segundosT>=60
}
cout<<"\n";
}

cout<<"\nEl tiempo total es: "<<endl;


cout<<"Horas: "<<horasT<<endl;
cout<<"Minutos: "<<minutosT<<endl;
cout<<"Segundos: "<<segundosT<<endl;
getch();
return 0;
}

Programa Nº34 programa que calcule el valor de: 1*2*3*...*n (factorial)

#include<iostream>
#include<stdlib.h>

using namespace std;

int main(){
int n,factorial=1;

cout<<"Digite un numero: ";


cin>>n;

for(int i=1;i<=n;i++){
factorial *= i;
}

cout<<"\nEl factorial del numero es: "<<factorial<<endl;

system("pause");
return 0;
}

Programa Nº35 Ordene 3 números a, b y c de tal manera que al final a, sea


siempre el mayor,b sea el intermedio y c el menor.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int a, b, c, may, men, med;
cout<<"Ingrese tres numeros, para "<<"\na = "; cin>>a;
cout<<"\nb = "; cin>>b; cout<<"\nc = "; cin>>c;
may=a;
if(may<b)
{ may=b;}
else
{ may=may;}
if(may<c)
{ may=c;}
else
{ may=may;}
cout<<"\nLos nuevos valores son: "<<"\n\na = "<<may;
if(a<b&&b<c)
{ med=b;}
if(b<c&&c<a)
{ med=c;}
if(c<a&&a<b)
{ med=a;}
if(c<b&&b<a)
{ med=b;}
if(a<c&&c<b)
{ med=c;}
if(b<a&&a<c)
{ med=a;}
cout<<"\n\nb = "<<med;
men=a;
if(men>b)
{ men=b;}
else
{ men=men;}
if(men>c)
{ men=c;}
else
{ men=men;}
cout<<"\n\nc = "<<men;
getch();
}

Programa Nº 36 programa que lea de la entrada estándar un vector de


enteros y determine el mayor elemento del vector.

#include<iostream>
#include<conio.h>

using namespace std;

int main(){
int numeros[100],n,mayor=0;

cout<<"Digite el numero de elementos: ";


cin>>n;

for(int i=0;i<n;i++){
cout<<i+1<<". Digite un numero: ";
cin>>numeros[i]; //Guardamos los elementos en el arreglo

if(numeros[i] > mayor){ }


}

cout<<"\nEl mayor elemento del vector es: "<<mayor<<endl;


getch();
return 0;
}

Programa Nº37 programa de una función que dada una matriz y un número
de fila de la matriz devuelva el menor de los elementos almacenados en dicha
fila.

#include<iostream>
#include<conio.h>
using namespace std;

void pedirDatos();
int comprobarMenorElemento(int m[][100],int,int);

int m[100][100],nfilas,ncol;

int main(){
pedirDatos();
cout<<"\nEl menor elemento de la fila seleccionada es:
"<<comprobarMenorElemento(m,nfilas,ncol)<<endl;

getch();
return 0;
}
void pedirDatos(){
cout<<"Digite el numero de filas: ";
cin>>nfilas;
cout<<"Digite el numero de columnas: ";
cin>>ncol;
for(int i=0;i<nfilas;i++){
for(int j=0;j<ncol;j++){
cout<<"Digite m["<<i<<"]["<<j<<"]: ";
cin>>m[i][j];
}
}
}
int comprobarMenorElemento(int m[][100],int nfilas,int ncol){
int fila,menor=99999;

cout<<"\nDigite el numero de fila a comprobar: ";


cin>>fila;

for(int i=0;i<nfilas;i++){
for(int j=0;j<ncol;j++){
if(i==fila){
if(m[i][j] < menor){
menor = m[i][j];
}
return menor;
}
Programa Nº38 un menú que considere las siguientes opciones:
Caso 1: Cubo de un numero
Caso 2: Numero par o impar
Case 3: salir.

#include<iostream>
#include<math.h>
using namespace std;

int main(){
int opc,numero,cubo;

cout<<"\tMENU"<<endl;
cout<<"1. Cubo de un numero"<<endl;
cout<<"2. Numero par o impar"<<endl;
cout<<"3. Salir"<<endl;
cout<<"Opcion: ";
cin>>opc;

switch(opc){
case 1:
cout<<"\nDigite un numero: "; cin>>numero;
cubo = pow(numero,3);
cout<<"El cubo del numero es: "<<cubo;break;
case 2:
cout<<"\nDigite un numero: "; cin>>numero;

if(numero%2==0){
cout<<"El numero es par";
}
else{
cout<<"El numero es impar";
}
break;
case 3: break;
}

return 0;
}
Programa N º39 programa que diga la siguiente expresión como expresión en
C++: (a+(b/c))/(d+(e/f))

#include<iostream>
using namespace std;

int main(){
float a,b,c,d,e,f,resultado = 0;

cout<<"Digite el valor de a: "; cin>>a;


cout<<"Digite el valor de b: "; cin>>b;
cout<<"Digite el valor de c: "; cin>>c;
cout<<"Digite el valor de d: "; cin>>d;
cout<<"Digite el valor de e: "; cin>>e;
cout<<"Digite el valor de f: "; cin>>f;

resultado = (a+(b/c))/(d+(e/f));

cout.precision(2)

return 0;
}
programa nº40programa que pida numero inicial y final y escriba en orden de
los numeros dados

#include<iostream>
#include<conio.h>
using namespace std;

int escribeNumeros(int,int);

int main(){
int ini,fin;

cout<<"Escriba el inicio: ";


cin>>ini;
cout<<"Escriba el fin: ";
cin>>fin;

for(int i=ini;i<=fin;i++){
cout<<escribeNumeros(i,fin)<<" ";
}

getch();
return 0;
}

int escribeNumeros(int ini,int fin){


if(ini==fin){//Caso base
return ini;
}
else{//Caso general
return escribeNumeros(ini,fin-1);
}
}

Programa N º41. Realice un programa que calcule el valor que toma la


siguiente función para
unos valores dados de x e y:

#include<iostream>
#include<math.h>

using namespace std;

int main(){
float x,y,resultado = 0;

cout<<"Digite el valor de x: "; cin>>x;


cout<<"Digite el valor de y: "; cin>>y;

resultado = sqrt(x)/(pow(y,2)-1);
cout<<"\nEl resultado es: "<<resultado;
return 0;
}
Programa N º42: programa de una función recursiva para la serie Fibonacci

#include<iostream>
#include<conio.h>
using namespace std;

int fibonacci(int n);

int main(){
int nElementos;

//Pedimos un numero entero positivo


do{
cout<<"Digite el numero de elementos: ";
cin>>nElementos;
}while(nElementos <= 0);

cout<<"Serie Fibonacci: ";


for(int i=0;i<nElementos;i++){
cout<<fibonacci(i)<<" , ";
}

getch();
return 0;
}

int fibonacci(int n){


if(n<2){//Caso base
return n;
}
else{//Caso general
return fibonacci(n-1)+fibonacci(n-2);
}
}

Programa Nº 43. Programa que realize la serie fibonacci -> 1 1 2 3 5 8 13...n

#include<iostream>
#include<stdlib.h>
using namespace std;

int main(){
int n,x=0,y=1,z=1;

do{
cout<<"Digite la cantidad de digitos de la serie: ";
cin>>n;
}while(n<=0);

cout<<"1 ";
for(int i=1;i<n;i++){
z = x + y;
cout<<z<<" ";
x = y;
y = z;
}

cout<<"\n";
system("pause");
return 0;
}
Programa 44: programa de una función recursiva que sume los primeros n
enteros positivos.

#include<iostream>
#include<conio.h>
using namespace std;

int sumar(int n);

int main(){
int numero;

do{
cout<<"Digite un numero: ";
cin>>numero;
}while(numero<=0);

cout<<"La suma es: "<<sumar(numero)<<endl;

getch();
return 0;
}

int sumar(int n){


int suma=0;

if(n==1){//Caso base
suma = 1;
}
else{//Caso general
suma = n + sumar(n-1);
}

return suma;
}
Programa Nº45. programa que calculea el valor de: 2^1+2^2+2^3+...+2^n

#include<iostream>
#include<stdlib.h>
#include<math.h>

using namespace std;

int main(){
int n,suma=0,elevacion=0;

cout<<"Digite el numero de terminos a sumar: ";


cin>>n;

for(int i=1;i<=n;i++){
elevacion = pow(2,i);
suma += elevacion;
}

cout<<"\nLa suma es: "<<suma<<endl;

system("pause");
return 0;
}
Programa Nº 46 programa de una universidad que tienen como política
considerar 3 notas en cada curso lanota de trabajos T, la nota de medio ciclo M
y la de fin de ciclo F, cada unatiene un peso de 50%, 20% y
30%respectivamente, Un alumno es calificadosegún lo siguiente:
Bueno :si su promedio esta entre 16 y 20
Regular :si su promedio está entre 11 y 15
Malo :si su promedio está entre 6 y 10
Pésimo :si su promedio está entre 0 y 5
Escriba un programa que lea las 3 notas de un alumno y en un curso y diga
cómo ha sido catalogado el alumno.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int t, m, f; float T, M, F, P;
cout<<"Ingrese sus hermosas notas: ";
cout<<"\nNota de los trabajos: ";cin>>t;
cout<<"\nNota de xamen parcial: ";cin>>m;
cout<<"\nNota de examen final: ";cin>>f;
if(0<t&&t<21)
{ if(0<m&&m<21)
{ if(0<f&&f<21)
{ T=t*0.5; M=m*0.2; F=f*0.3; P=T+M+F;
cout<<" Promedio : "<<P;
if(15<P&&P<20)
cout<<" Entonces es Ud. un BUEN alumno..";
if(10<P&&P<16)
cout<<" Entonces es Ud. un alumno REGULAR...";
if(5<P&&P<11)
cout<<" Entonces es Ud. un MAL alumno...";
if(-1<P&&P<6)
cout<<" Entonces es Ud. un alumno PESIMO...";
}
else
{ cout<<"esa nota no esta adecuada";}
}
else
{ cout<<"esa nota no esta adecuada";}
}
else
{
cout<<"esa nota no esta adecuada";
}

getch();
}

Programa Nº47 programa que lea un número que represente el mes y diga
que meses es.
#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
char mes;

cout<<"Ingrese un numero:";
cin>>mes;
switch(mes)
{
case '1':
cout<<"enero";
break;
case '2':
cout<<"febrero";
break;
case '3':
cout<<"marzo";
break;
case '4':
cout<<"abril";
break;
case '5':
cout<<"mayo";
break;
case '6':
cout<<"junio";
break;
case '7':
cout<<"julio";
break;
case '8':
cout<<"agosto";
break;
case '9':
cout<<"setiembre";
break;
case '10':
cout<<"octubre";
break;
case '11':
cout<<"noviembre";
break;
case '12':
cout<<"diciembre";
break;
default:
cout<<"este mes no existe";
break;
}
getch();
}
programa Nº48 programa inversa de un numero

#include <iostream>
using namespace std;
int main()
{
int dato,temp,digito,error;
error = 0;
cout << "Inversor de digitos de un numero " << endl;
cout << "Digite el numero : ";
cin >> dato;
if (dato < 10 ){
cout << "ERROR : Digite un numero (positivo) mayor que 10" << endl; // valida
que sea mayor que 9
error = 1;
// bandera de error
}
if (error == 0){
cout << "numero invertido : ";
while ( dato > 0){
temp = dato/10;
digito = dato - temp*10;
cout << digito ;
dato = temp;
}
}
cout << endl;
return 0;
}
Programa 49 programa de suma de matrices

#include<iostream>
using namespace std;
int main(){
int m,n;
cin>>m>>n;
int A[m][n],B[m][n],C[m][n];
for( int i=0;i<m;i++){
for(int j=0;j<n;j++){
cout<<"A["<<i<<"]["<<j<<"]:";
cin>>A[i][j];
}
}
for( int i=0;i<m;i++){
for(int j=0;j<n;j++){
cout<<"B["<<i<<"]["<<j<<"]:";
cin>>B[i][j];
}
}
for( int i=0;i<m;i++){

for(int j=0;j<n;j++){
C[i][j]=A[i][j]+B[i][j];
}
}
for( int i=0;i<m;i++){
for(int j=0;j<n;j++){

cout<<C[i][j]<<endl;
}
}
}
Programa Nº50 programa que en una universidad se pueden llevar hasta 22
créditos en un ciclo. Escriba unprograma que permita a un alumno
matricularse, sin pasarse del límite de
créditos permitido.

#include <iostream>
using namespace std;
#include <conio.h>
int main()
{ int c, t=0, i=0; char A[20];
do
{
cout<<"Ingrese el curso: ";cin>>A;
cout<<"Ingrese la cantidad de creditos que tiene ese curso: ";cin>>c;
t=t+c; i=i+1;
}while(t<=22);
i=i-1;
cout<<"Ud no podra llevar el curso de "<<A<<" porque exede el limite de Cre.
\n";
cout<<"entonces solo llevara "<<i<<" cursos...";
getch();
}

Programa Nº 51 Escriba un programa que lea de la entrada estándar los


dos catetos de un triángulo rectángulo y escriba en la salida estándar su
hipotenusa.

#include<iostream>
#include<math.h>

using namespace std;

int main(){
float cateto1,cateto2,hipotenusa;

cout<<"Digite el cateto 1: "; cin>>cateto1;


cout<<"Digite el cateto 2: "; cin>>cateto2;

hipotenusa = sqrt(pow(cateto1,2)+pow(cateto2,2));
cout<<"\nEl resultado de la hipotenusa es: "<<hipotenusa;

return 0;
}

Programa Nº 52 programa que lea 3 números diferentes e indique cual es el


valor intermedio.*

#include<iostream>
using namespace std;
#include<conio.h>
#include<math.h>
int main()
{
int a, b, c, med;
cout<<"Ingrese valores para: "<<"\na = ";cin>>a;
cout<<"\nb = ";cin>>b; cout<<"\nc = ";cin>>c;
if(a<b&&b<c)
{ med=b;}
if(b<c&&c<a)
{ med=c;}
if(c<a&&a<b)
{ med=a;}
if(c<b&&b<a)
{ med=b;}
if(a<c&&c<b)
{ med=c;}
if(b<a&&a<c)
{ med=a;}
cout<<"El valor intermedio, de los tres que ingreso es: "<<med;
getch();
}

Programa Nº 53 programa ingrese 5 números y determine el menor.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int a, b, c, d, e, men;
cout<<"Ingrese cinco numero: "; cin>>a>>b>>c>>d>>e;
men=a;
if(men>b)
{ men=b;}
else
{ men=men;}
if(men>c)
{ men=c;}
else
{ men=men;}
if(men>d)
{ men=d;}
else
{ men=men;}
if(men>e)
{ men=e;}
else
{
men=men;
}

Programa N 54 Calcule la media aritmética de los n primeros números enteros


positivos.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int media,n,s;
cout<<"Ingrese los n primeros terminos:";
cin>>n;
s=(n*(n+1))/2;
media=s/n;

cout<<"La media aritmética seria:"<<media;


getch();
}
Programa 55 programa Si dos números son positivos calcule su producto, en
caso contrario calcule la suma.*

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int a, b, Res;
cout<<"Ingrese dos numeros: \n"; cin>>a>>b;

if(a>0&&b>0)
{
Res=a*b; cout<<"Como son positivos, su producto es: "<<Res;
}
else
{
Res=a+b; cout<<"Como por lo menos uno es negativo, su suma es: "<<Res;
}
getch();
}
Programa Nº 56 programa de Calcule el perímetro de un rectángulo.*/

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int b,h,p;
cout<<"Ingrese la base: ";
cin>>b;
cout<<"Ingrese la altura: ";
cin>>h;
p=(b+h)*2;
cout<<"El perimetro es : "<<p;
getch();
}

Programa Nº57 programa de valor absoluto de un número.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{
int n;
cout<<"Ingrese el numero:";cin>>n;
if(n>=0)
cout<<n;
else
{
cout<<"El valor absoluto del numero es:"<<-n;
}
getch();
}

Programa Nº 58 programa de suma de los n primeros números pares.

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int r,p,l;
cout<<"Ingrese la cantidad de numeros pares : ";
cin>>p;
l=p*p+p;
cout<<"La suma de numeros pares es : "<<l;
getch();
}
ProgramaNº 59 programa que Calcule la Suma de números inpares s = 1 + 3
+ 5 + 7 + … + (2 n - 1)*/

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

int l,c;
cout<<"Ingrese hasta que posision desea sumar: ";
cin>>l;
c=l*l;
cout<<"La sume es : "<<c;
getch();
}
Programa Nº 60 Programa que determine cuántos dígitos tiene un número
entero ingresado

#include<iostream>
using namespace std;
#include<conio.h>
int main()
{

long int n,u,i;


i=0;
cout<<"Ingrese el numero :";
cin>>n;
while(n>0)
{
u=n%10;
n=(n-u)/10;
i=i++;
}
cout<<i;

getch();

También podría gustarte