Hice una guia de ejercicios c++ en consola Parte 2

Anuncios

Bueno como ya habia dicho en la primer parte iba a continuar haciendo esto en una segunda parte, esta contiene ciertas soluciones, un par de matrices que aun estoy desarrollando pero todo va bien.

Hice una guia de ejercicios c++ en consola Parte 2


Bien me quede en el ejercicio 10 asi que vamos a ver que podemos hacer esta vez


Ejercicio 11

C++

11- Escribir un programa que lea una nota de un examen por teclado y devuelta la calificación que tiene. La calificación podrá ser: Suspenso (0-4.99), Aprobado (5-6.99), Notable (7-8.99), Sobresaliente (9-9.99) o Matrícula de Honor (10), si el usuario introduce un valor menor que cero o un valor mayor a 10 se muestre por pantalla un mensaje de error.

# include <iostream>
using namespace std;

int Nota;
int main ()

{
    cout<< " Digitar la Nota:";
    cin>>Nota;
    
    switch (Nota)
    {
    case 1: case 2: case 3: case 4:
        cout<<"n Alumno tiene una nota Suspenso.";
        cout<<"n";
        break;
    case 5: case 6:
        cout<<"n Alumno tiene un nota Aprobado.";
        cout<<"n";
        break;
    case 7: case 8:
        cout<<"n Alumno tiene una nota Notable.";
        cout<<"n";
        break;
    case 9:
        cout<<"n Alumno tiene una nota Sobresaliente.";
        cout<<"n";
        break;
    case 10:
        cout<<"n Alumno tiene una nota de Honor.";
        cout<<"n";
        break;
    default:
        cout<<"n Caracter no reconocido.";
    cout<<"n";
    }

    system ("pause");
}


Ejercicio 12

Interesante

12- Escribe un programa que lea tres números enteros por teclado y emita un mensaje indicando si están o no ordenados en orden creciente.

#include<iostream>
using namespace std;
int main()
{
    double n1,n2,n3;
    cout<<"n Introducir el primer numero:";
    cin>>n1;
    cout<<"n Introducir el segundo numero:";
    cin>>n2;
    cout<<"n Introducir el tercer numero:";
    cin>>n3;
    if(n1<n2&&n1<n3)
    cout<<"n El orden de los numeros es creciente.";
    else
    cout<<"n El orden de los numeros es decreciente.";
    cout<<"n";
    system ("pause");
}


Ejercicio 13

vcmp

13- Escribir un programa que muestre por pantalla la cantidad de memoria expresada en bytes, que ocupa cada uno de los siguientes tipos de datos existentes en C: char, int, short int y doublé. Comparar y analizar el resultado. Ejemplo: El programa deberá sacar por pantalla una frase como esta para cada tipo de dato: “Una variable de tipo ---- ocupa en memoria ----- bytes”. Así para el tipo entero el programa deberá sacarla por pantalla: “Una variable de tipo short int ocupa en memoria 2 bytes”

#include<iostream>
using namespace std;
char TPdato;
int main()
{
    
        cout<<"n Escriba el nombre del tipo de dato:";
        TPdato=getchar();
        switch (TPdato)
        {
        case 'c': case 'C':
            cout<<":n Una variable de tipo Char ocupa una memoria de 1 byte.";
            cout<<"n";
            break;
        case 'i': case 'I':
            cout<<"n Una variable de tipo Int ocupa una memoria de 2 bytes.";
            cout<<"n";
            break;
        case's': case 'S':
            cout<<"n Una variable de tipo Short int ocupa una memoria de 2 bytes.";
            cout<<"n";
            break;
        case 'd': case 'D':
            cout<<"n Una variable de tipo Double ocupa una memoria de 8 bytes.";
            cout<<"n";
    break;
        default:
            cout<<"Tipo de dato no reconocido";
            cout<<"n";
    }
    system ("pause");
}


Ejercicio 14

programa tu mismo

14- Escribir un programa que permita introducir por teclado tres letras y responda si existen al menos dos letras iguales.

#include <iostream>
using namespace std;
int main()
    
{
    char L1,L2,L3;
    cout<<"n Introduce la primer letra:";
    cin>>L1;
    cout<<"n Introduce la segunda letra:";
    cin>>L2;
    cout<<"n Introduce la tercer letra:";
    cin>>L3;
    if (L1==L2 || L1==L3 && L2==L1 || L2==L3 && L3==L1 || L3==L2)
        cout<<"n Se repiten al menos 2 de las 3 letras introducidas."<<"n";
    else 
        cout<<"n No se repite ninguna letra";
        cout<<"n";
    system("pause");
}


Ejercicio 15

Hice una guia de ejercicios c++ en consola Parte 2

15- Realizar un programa que permita introducir un número entero y el programa responde si el numero es par o impar.

#include< iostream>
using namespace std;
int main()
{
    int Num ;
    cout<<"n Digitar un numero:";
    cin>>Num;
    if (Num %2==0)
        cout<<"n El numero introducido es Par."<<"n";
    else
        cout<<"n El numero introducido es Impar."<<"n";
    system ("pause");
}


Ejercicio 16

C++

16- Realice un programa que calcule la edad de una persona. Tenga en cuenta que si una persona ha nacido en el mes de Marzo de 1975 y estamos en Febrero del año 2006m dicha persona tiene 30 años.

#include <iostream>
using namespace std;
int MesNac, MesAct, AñoNac, AñoAct, Edad;
int main()
{
    cout<<"n Introduce tu Año de Nacimiento:";
    cin>>AñoNac;
    cout<<"n Introduce tu Mes de Nacimiento en numeros:";
    cin>>MesNac;
    cout<<"n Introduce El mes Actual en numeros:";
    cin>>MesAct;
    cout<<"n Introduce El año actual:";
    cin>>AñoAct;
    if (MesAct>=MesNac)
        Edad=AñoAct-AñoNac;
    else Edad=AñoAct-AñoNac-1;
    cout<<"n Tu tienes"<<Edad;
    cout<<"n";
    system("pause");
}


Ejercicio 17

Interesante

17- Realice un programa para un supermercado de forma que permita optimizar la devolución de cambio. A partir de una cantidad numérica entera de dólares a devolver, deberemos encontrar y mostrar el menor número de billetes o monedas a entregar al cliente. Por ejemplo: para devolver 72 dólares, se deberá mostrar que hay que entregar un billete de 50, un billete de 20 y 2 billetes de un dólar

NOTA: Este te lo debo, porque aun no lo he hecho pero al solo terminarlo lo posteare

Ejercicio 18

vcmp

18- Realizar un programa que aconseje que ropa se debe poner el usuario en función de los datos de temperatura y humedad introducidos por teclados. La tabla de valores que debe seguir el programa para aconsejar, es la siguiente.
programa tu mismo


#include<iostream>
using namespace std;
int Temp,Hum;
int main()
{
    cout<<"n Introduzca la Temperatura:";
    cin>>Temp;
    cout<<"n Introduzca la Humedad:";
    cin>>Hum;
    switch (Temp)
    {
    case 24:
    if (Hum>=80)
        cout<<"n Pantalon largos y camisa.";
        cout<<"n";
    break;
    case 10:
        if (Hum>=55)
        cout<<"n Pantalon de pana y chaleco.";
        cout<<"n";
        break;
    case 2:
        if (Hum>=40)
        cout<<"n Pantalon,chaleco y abrigo.";
        cout<<"n";
    break;
    case 30:
        if(Hum>=85)
        cout<<"n Pantalon corto y camiseta.";
        cout<<"n";
    break;
    default:
        cout<<"n Error, no existe un tipo de ropa para los datos entrados.";
        cout<<"n";
        }
    system ("pause");
}


Ejercicio 19

Hice una guia de ejercicios c++ en consola Parte 2

19- DISEÑE UN PROGRAMA QUE PERMITA INGRESAR SUELDO Y CATEGORIA (´A´, ´B´, ´C´, ´D´) DE 4 TRABAJADORES DE UNA EMPRESA.ENSEGUIDA INCREMENTAR EK SUELDO EN UN:
10% SI PERTENECE A LA CATEGORIA ‘A’
15% SI PERTENECE A LA CATEGORIA ‘B’
18% SI PERTENECE A LA CATEGORIA’C’
20% SI PERTENECE A LA CATEGORIA ‘D’

#include<iostream>
using namespace std;
int main()
{
    int Cat;
    double Sueldo,Inc,T;
    cout<<"n Digite el sueldo:";
    cin >>Sueldo;
    cout<<"n Digite la Categoria:";
    cin>>Cat;
    switch (Cat)
    {
    case 'a': case 'A':
        Inc=Sueldo*0.10;
        break;
    case 'b': case 'B':
        Inc=Sueldo*0.15;
        break;
    case 'c': case 'C':
        Inc=Sueldo*0.18;
        break;
    case 'd': case 'D':
        Inc=Sueldo*0.20;
        break;
    T=Sueldo+Inc;
    cout<<"n El total a pagar con incremento es:"<<T<<"n";
    default:
            cout<<"n Categoria no considerada.";
            cout<<"n";
    }
    system ("pause");



Ejercicio 26

C++

26- Indicaciones: Desarrolle el análisis, diagrama de flujo y la codificación para el siguiente programa y que se muestre las siguientes opciones de menú
Crear un programa que llene una matriz de 5 filas y 6 columnas
1- Número más alto.
2- Promedio de datos por columna.

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

using namespace std;

void main()
{
    int intArreglo[5][6],intPromColumna[6];//El arreglo es de 6 filas por 6 columnas debido a que en la ultima fila de cada columna se hace el calculo del total de la columna
    int i=0,j=0;
    int intMayor=0;
    for (i=0;i<6;i++)
    {    
        intPromColumna[i]=0;            
    }
        for (i=0;i<5;i++)
    {
        for (j=0;j<6;j++)
        {
            cout<<"nIngrese el elemento de la posicion ("<<i+1<<","<<j+1<<"):";
            cin>>intArreglo[i][j];
            //Calculo del elemento mayor
            if (intArreglo[i][j]>intMayor)
                intMayor=intArreglo[i][j];
            intPromColumna[i]= intPromColumna[i]+intArreglo[i][j];//Calculo del promedio de datos por columna
        }        
    }

    //Obteniendo el promedio
    system("CLS");
    for (i=0;i<5;i++)
    {
        intPromColumna[i]=intPromColumna[i]/5;
        cout<<"nPromedio de la columna "<<i+1<<": "<<intPromColumna[i];
    }
    cout<<"nnEl numero mas alto es: "<<intMayor;
    cout<<"nn";
    system ("pause");


Ejercicio 27

Interesante

27- Codificar un programa que almacene 30 numeros en una matriz de 6*5 y que presente como resultado:
a) Imprimir la suma de los números almacenados en la matriz.
b) La posición [renglón, columna] del munero mayor almacenado en la matriz.
c) Calcular la suma de cada fila y almacenarla y un vector e imprimir el vector resultante.
d) La suma de cada columna y almacenarla en un vector e imprimir el vector resultante.

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

using namespace std;

void main()
{
    int intArreglo[6][5],intSumaFila[6];
    int i,j;
    int intSumaMatriz=0,intMayor=0,intPosicionX=0,intPosicionY=0,intSumaColumna[5];
    for (i=0;i<5;i++)
    {
        intSumaFila[i]=0;
        intSumaColumna[i]=0;
    }
    for (i=0;i<5;i++)
    {
        for (j=0;j<6;j++)
        {
            cout<<"nIngrese el elemento de la posicion ("<<i+1<<","<<j+1<<"):";
            cin>>intArreglo[i][j];
            //Suma de los elementos
            intSumaMatriz+=intArreglo[i][j];
            //Calculo del elemento mayor
            if (intArreglo[i][j]>intMayor)
            {
                intMayor=intArreglo[i][j];
                intPosicionX=i;
                intPosicionY=j;
            }
            //Calculo de la suma de cada columna
            intSumaColumna[i]+=intArreglo[i][j];//Calculo del promedio de datos por columna
            //Calculo de la suma de cada fila
            intSumaFila[j]+=intArreglo[i][j];    
        }    
    }
    cout<<"nn";
    system ("pause");


Ejercicio 28

vcmp

28- Codificar un programa que llene una matriz de 5*5 y que represente como resultado
a) La suma de las columnas e imprimir que columna tuvo la máxima suma y la suma de esa columna.
b) Codificar un programa que llene una matriz de 3*3 y que almacene la diagonal principal de un vector. Imprimir el vector.

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

using namespace std;

void main()
{
    //Menu de seleccion
    int opc;
    system("CLS");
    cout<<"nBienvenido al sistema";
    cout<<"nn 1 - Calcular literal A del ejercicio 28 ";
    cout<<"n 2 - Calcular literal B del ejercicio 28";
    cout<<"nnSeleccione una:";
    cin>>opc;

    if (opc==1)
    {
        system("CLS");
        // Ejercicio 28 - literal A 
        int intArreglo[5][5],intSumaColumna[5];
        int i,j;
        int intMayor=0,intColumnaMayor=0;
        //Inicializando el arreglo intSumaFila[i]
        for (i=0;i<5;i++)
        {
            intSumaColumna[i]=0;
        }
        for (i=0;i<5;i++)
        {
            for (j=0;j<6;j++)
            {
                cout<<"nIngrese el elemento de la posicion ("<<i+1<<","<<j+1<<"):";
                cin>>intArreglo[i][j];
                intSumaColumna[i]+=intArreglo[i][j];
                if (intSumaColumna[i]>intMayor)
                {
                    intMayor=intSumaColumna[i];
                    intColumnaMayor=i;                
                }

            }
        }
    }
    // Ejercicio 28 literal B
    else if (opc==2)
    {
        system("CLS");
        int intArreglo2[3][3];
        int intSumaDiagonalPrincipal=0;
        int i,j;
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
            {
                cout<<"nIngrese el elemento de la posicion ("<<i+1<<","<<j+1<<"):";
                cin>>intArreglo2[i][j];
            }
        }
        //Calculando la suma de la diagonal principal
        i=0;
        j=0;
        while (i<3)
        {
            intSumaDiagonalPrincipal+=intArreglo2[i][j];
            i++;
            j++;
        }
        cout<<"nLa suma de la diagonal principal es: "<<intSumaDiagonalPrincipal;
    }
    system ("pause");
}


Ejercicio 29

programa tu mismo


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

using namespace std;

void main()
{
     system("CLS");
       int intArreglo[3][3],intSumFila[3],intSumColum[3];
        int i,j;
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
            {
                cout<<"nIngrese el numero de la posicion ("<<i+1<<","<<j+1<<": ";cin>>intArreglo[i][j];
            }
        }


        //Suma de las filas
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                intSumFila[i]+=intArreglo[i][j];
            }
        }
        //Suma de las columnas
        for(j=0;j<3;j++)
        {
            for(i=0;i<3;i++)
            {
                intSumColum[j]+=intArreglo[i][j];
            }
        }
        int num1,num2,num3;
        cout<<"nIngrese el primer numero a localizar: ";cin>>num1;
        cout<<"nIngrese el segundo numero a localizar: ";cin>>num2;
        cout<<"nIngrese el tercer numero a localizar: ";cin>>num2;
        //Localizando los numeros
        //Para el numero 1
        int Num1PosX=0,Num1PosY=0;
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                if (num1==intArreglo[i][j])
                {
                    Num1PosX=i;
                    Num1PosY=j;
                }
            }
        }
        //Para el numero 2
        int Num2PosX=0,Num2PosY=0;
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                if (num2==intArreglo[i][j])
                {
                    Num2PosX=i;
                    Num2PosY=j;
                }
            }
        }
        //Para el numero 3
        int Num3PosX=0,Num3PosY=0;
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                if (num3==intArreglo[i][j])
                {
                    Num3PosX=i;
                    Num3PosY=j;
                }
            }
        }
        //Imprimiendo los resultados
        //Matriz resultante
        cout<<"nn";
        for(i=0;i<3;i++)
        {
            for(j=0;j<3;j++)
            {
                cout<<intArreglo[i][j];
            }
            cout<<"n";
        }
        system ("pause");
        cout<<"nn";
        //Suma de filas
        for(i=0;i<3;i++)
        {
            cout<<intSumFila[i]<<" ";
        }
        system ("pause");
        cout<<"nn";

        //Suma de columnas
        for(i=0;i<3;i++)
        {
            cout<<intSumColum[i]<<" ";
        }
        system ("pause");
        cout<<"nn";
        cout<<"Posicion del numero "<<num1<<" ("<<Num1PosX<<","<<Num1PosY<<")";
        cout<<"Posicion del numero "<<num2<<" ("<<Num2PosX<<","<<Num2PosY<<")";
        cout<<"Posicion del numero "<<num3<<" ("<<Num3PosX<<","<<Num3PosY<<")";
        cout<<"nn";
        system ("pause");
}


Ejercicio 30

Hice una guia de ejercicios c++ en consola Parte 2

30- Codificar un programa que llene una matriz de 3*3 y que almacene en la diagonal principal unos y en los demás posiciones ceros, estos valores deben ser asignados directamente por el programa. Imprimir la matriz resultante.

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

void main()
{
    system("CLS");
        int intArreglo[3][3];
        int i,j;
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
            {
                intArreglo[i][j]=0;
            }
        }

        i=0;
        j=0;
        while (i<3)
        {
            intArreglo[i][j]=1;
            i++;
            j++;
        }
        for (i=0;i<3;i++)
        {
            for (j=0;j<3;j++)
            {
                cout<<" "<<intArreglo[i][j];
            }
            cout<<"n";
        }
        system ("pause");
}


Ejercicio 31

C++

31- Codificar un programa que llene una matriz de 5*4 y que almacene toda la matriz en un vector. Imprimir el vector resultante.

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

using namespace std;

void main()
{
    int intArreglo[5][4],intVectorResultante[20];
    int i=0,j=0,k=0;       
    for (i=0;i<5;i++)
    {
        for (j=0;j<4;j++)
        {
            cout<<"nIngrese el elemento de la posicion ("<<i+1<<","<<j+1<<"):";
            cin>>intArreglo[i][j];
            intVectorResultante[k]=intArreglo[i][j];
            k=k+1;
        }
    }
    cout<<"nn";
    for (i=0;i<20;i++)
    {
        cout<<" "<<intVectorResultante[i];
    }
    cout<<"nn";
    system ("pause");
}


Espero que sean de alguna utilidad para ti que uqieres parender lo basico de C++ o si estas en problemas y apuros con ejercicios.

Si deseas releer la primer parte pues eres bienvenido

http://www.taringa.net/posts/hazlo-tu-mismo/13029179/Hice-una-guia-de-ejercicios-c_-en-consola-Parte-1.html

Interesante

vcmp

14 comentarios - Hice una guia de ejercicios c++ en consola Parte 2

@Khra
me tengo que esperar 1 año para que en la universidad me empiezen a enseñar algo que ya se :S :S :S , estan buenos los ejercicios cuando acomode la pc vuelvo a C++ xD (soy un novato aun xD)
@LeoBecker
Omega_Legend dijo:
LeoBecker dijo:tendras para java???

Lamento descepcionarte pero noooo T_T, intentare a ver si un amigo me pasa algunos ejemplos por aqui aver si esos te ayudan un poco.

gracias d todos modos
@locura_297 +1
no vendria mal que pongas la consola para probarlos... Muy buen post.-
@truenotierraa +1
podrias hacerte unos tutos en c# uso el visual basic tambien en consola
gracias
@Hualterio
Gracias! Lo dejo en favoritos!
@el_loco_miguel
como aprendo c++ y para que sirve alguien que me mande un mp please
@playadicto
necesitaba practicar y los últimos me fueron de gran ayuda, gracias. +10.
@Idzybgm
El 30, pero súper optimizado:

#include <iostream>
using namespace std;

int main()
{
int matriz[3][3];

for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
matriz[j] = 0;

for(int i=0; i<3; i++)
matriz = 1;

for(int i=0; i<3 && cout << endl; i++)
for(int j=0; j<3; j++)
cout << matriz[j] << " ";

return 0;
}

solo 20 lineas de código.
@Idzybgm
<code>#include <iostream>
using namespace std;

int main()
{
int matriz[3][3];

for(int i=0; i<3; i++)
for(int j=0; j<3; j++)
matriz[j] = 0;

for(int i=0; i<3; i++)
matriz = 1;

for(int i=0; i<3 && cout << endl; i++)
for(int j=0; j<3; j++)
cout << matriz[j] << " ";

return 0;
}</code>

El 30, pero súper optimizado, en solo 20 líneas de código.
@Idzybgm
No me dejó poner el código, maldita taringa, cada vez peor >