miércoles, 3 de agosto de 2016

Capítulo 58. Ejercitando lo aprendido en C++. Parte 1

Diario de un programador.- Dia 131


Al igual que en la clase de C, es hora de realizar unos ejercicios para practicar y comprobar lo aprendido. Como se podrán dar cuenta, son mucho menos los ejercicios propuestos aquí ya que solamente dejé los más relevantes para no aburrir tanto con el tema, después de todo, si se logró hacer  en small basic, esto no debería presentar mayor dificultad.

1.- Escriba un programa que calcule el promedio de 5 números ingresadas por el usuario:
#include<iostream>
#include<stdio.h>

using std::cout;
using std::cin;
using std::endl;

int main(void){
  int i, numero, suma = 0;
  float promedio;

  for(i = 1; i <= 5; i++){
     printf("Ingreso nro.%d: ", i);
     cin >> numero;
     suma = suma + numero;
  }//fin for
  promedio = suma / 5;

  cout << "El promedio es " << promedio << endl;

return 0;

}


Diario de un programador.- Dia 132


2.- Escriba un programa que pida al usuario un entero de tres dígitos, y entregue el número con los dígitos en orden inverso:
            Ej. El usuario escribe 123 y el programa responde 321

#include<iostream>
#include<stdio.h>

using std::cout;
using std::cin;
using std::endl;

int main(void){

  int numero, centena, decena, unidad;

  cout << "Ingresa un numero de 3 digitos: ";
  cin >> numero;

  centena = numero / 100;
  decena = (numero % 100) / 10;
  unidad = (numero % 100) % 10;

  printf("%d%d%d\n", unidad, decena,centena);

return 0;
}
//escrito por: Gustavo Cerda Nilo, Febrero 2016


Diario de un programador.- Dia 133

3.- Escriba un programa que reciba como entrada las longitudes de los dos catetos a y b de un triángulo rectángulo, y que entregue como salida el largo de la hipotenusa c del triángulo, dado por el teorema de Pitágoras: c2=a2+b2.

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

using std::cout;
using std::cin;
using std::endl;

int main(void){

  int catetoA, catetoB, sumaCatetos;
  float hipotenusa;

  cout << "Ingresa el primer cateto: ";
  cin >> catetoA;

  cout << "Ingresa el segundo cateto: ";
  cin >> catetoB;

  catetoA = catetoA * catetoA;
  catetoB = catetoB * catetoB;
  sumaCatetos = catetoA + catetoB;
  hipotenusa = sqrt(sumaCatetos);

  printf("La hipotenusa es: %f\n",hipotenusa);

return 0;
}


Diario de un programador.- Dia 134

4.- Escriba un programa que pida dos números enteros y que calcule la división, indicando si la división es exacta o no.

#include<iostream>

using std::cout;
using std::cin;
using std::endl;

int main(void){

  int dividendo, divisor;
  cout << "Ingresa el dividendo: ";
  cin >> dividendo;

  cout << "Ingresa el divisor: ";
  cin >> divisor;

  if(dividendo % divisor == 0){
    cout << "La division es exacta" << endl;
    }
  else{
    cout << "La division no es exacta" << endl;
    }

return 0;
}
//Escrito por Gustavo J. Cerda Nilo, Febrero 2016


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

using std::cout;
using std::cin;
using std::string;
using std::endl;
using std::getline;


int main(void){

  char palabra1[100], palabra2[100], mayor[100] = "";
  int conteo1, conteo2, diferencia;

  cout << "Ingresa una palabra: ";
  fgets(palabra1,100, stdin);

  cout << "Ingresa otra palabra: ";
  fgets(palabra2,100, stdin);

  conteo1 = strlen(palabra1);
  conteo2 = strlen(palabra2);
  diferencia = abs(conteo1 - conteo2);

  if (conteo1 > conteo2){
      printf("\nLa palabra mayor es %s\n", palabra1);
  }
  if (conteo1 < conteo2){
      printf("\nLa palabra mayor es %s\n", palabra2);
  }
  if(conteo1 == conteo2){
      printf("\nLas palabras tienen la misma longitud\n");
  }

  printf("La diferencia es de %d letra(s)\n", diferencia);

return 0;
}


6.- escriba un programa que ordene cinco números:

#include<iostream>
#include<stdio.h>

using std::cout;
using std::cin;

int main(void){

  int i,j, aux, a[5];
  for(i = 0; i < 5; i++){
    cout << "Ingresa un numero: ";
    cin >> a[i];
  } //fin for

  for(i = 0; i < 5; i++){
    for(j = 0; j < 5; j++){
        if(a[j] > a[j + 1]){
            aux = a[j];
            a[j] = a[j + 1];
            a[j + 1] = aux;
        }//fin if
    }//fin for
  }//fin for
  printf("%d,%d,%d,%d,%d\n", a[0],a[1],a[2],a[3],a[4]);

return 0;
}


Diario de un programador.- Dia 135


7.- Escribir un programa que calcule el mínimo común múltiplo de tres números

#include<iostream>
#include<stdio.h>

using std::cout;
using std::cin;

int main(void){

  int mayor = 0, casilla = 0, numerador = 0, contador = 0;
  int interruptor = 0, multiplicador = 0, multiplo = 0;
  int i, j;
  int num[3];

  cout << "Ingresa 3 numeros: ";
  for (i = 0; i < 3; i++){
    numerador ++;
    printf("%d: ", numerador);
    cin >> num[i];
    if(num[i] > mayor){
      mayor = num[i];
    }//fin if
  }//fin for
  while(interruptor == 0){
    contador = 0;
    multiplicador ++;
    multiplo = mayor * multiplicador;
    for(j = 0; j < 3; j++){
      if(multiplo % num[j] == 0){
        contador++;
      }//fin if
    }//fin for
    if(contador == 3){
      interruptor = 1;
    }//fin if
  }//fin while
  printf("El M.C.M es: %d",multiplo);

return 0;
}


Diario de un programador.- Dia 136

8.- Los tres lados a, b y c de un triángulo deben satisfacer la desigualdad triangular: cada uno de los lados no puede ser más largo que la suma de los otros dos.
Escriba un programa que reciba como entrada los tres lados de un triángulo, e indique si el triángulo es válido y  si lo es, a que tipo corresponde. Ej:
Ingrese lado1: 2
Ingrese lado2: 3
Ingrese lado3: 7
No es un triangulo valido.

Ingrese a: 3
Ingrese b: 2
Ingrese c: 2
El triangulo es isósceles.

#include<iostream>
#include<stdio.h>

using std::cout;
using std::cin;
using std::endl;

 void tipo(int, int, int);
 void tipo(int lado1, int lado2, int lado3){
   if(lado1 == lado2 && lado1 == lado3){
     cout << "Es equilatero" << endl;
   }
   if(lado1 == lado2 && lado1 != lado3 || lado1 == lado3 && lado1 != lado2 || lado2 == lado3 && lado2 != lado1){
     cout << "Es isosceles" << endl;
   }
   if(lado1 != lado2 && lado1 != lado3 && lado2 != lado3){
     cout << "Es escaleno" << endl;
   }
 }

int main(void){

  int desigual = 0, lado1, lado2, lado3;

  cout << "Desigualdad Triangular";
  cout << "Ingresa el lado 1: ";
  cin >> lado1;

  cout << "Ingresa el lado 2: ";
  cin >> lado2;

  cout << "Ingresa el lado 3: ";
  cin >> lado3;

  if((lado1 + lado2) < lado3){
    desigual++;
  }
  if((lado1 + lado3) < lado2){
    desigual++;
  }
  if((lado2 + lado3) < lado1){
    desigual++;
  }
  if (desigual > 0){
    cout << "No es un triangulo valido" << endl;
  }
  else{
    tipo(lado1,lado2,lado3);
  }

return 0;
}



Esto es por hoy. Saludos

Gustavo J. Cerda Nilo
Febrero 2016, Agosto 2016




No hay comentarios:

Publicar un comentario

C++ El apuntador This

El apuntador This En C++, cada objeto tiene acceso a su propia dirección a través de un puntero o apuntador denominado This. Lo...