Me chequeas esto por favor

Que tal nuevamente hago otros dos programas que me están dando problemas miralos aquí y los códigos:
1-Determine cuales son los cubos narcisistas menores o iguales que 5000.
#include <stdio.h>
#include <stdlib.h>
int main( )
{
  int i, j, k, ic, jc, kc, num;
  for(i 0 <=> 500; i++)
  {
    ic = i*i*i;
    for(j=0; j<=9; j++)
    {
      jc = j*j*j;
      for(k=0; k<=9; k++)
      {
        kc = k*k*k;
        num =(i*1000) + (j*5) + (k*1);
        if(num == ic + jc + kc)
         printf("%d es un numero narcisista\n", num);
      }
    }
  }
  system("PAUSE");
  return 0;
}
2-Encontrar el mínimo número de billetes y/o monedas para representar una cantidad de dinero dada.
Ejemplo: para 1548.43 el cambio mínimo sería:
1 billete de 1000 pesos
1 billete de 500 pesos
2 billetes de 20 pesos
1 moneda de 5 pesos
3 monedas de 1 peso
1 moneda de 25 centavos
1 moneda de 10 centavos
1 moneda de 5 centavos
3 monedas de 1 centavo
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
   int b1000, b500, b20, b5, b1, b0.25, b0.10, b0.05, b0.01, pesos;
   printf( "\n   Introduzca cantidad entera (Pesos): " );
   scanf( "%d", &pesos );
   if ( pesos > 0 )
   {
      /* Billetes de 1000 */
      if ( pesos >= 1000 )
      {
         b1000 = pesos / 1000;
         pesos %= 1000;
      }
      else
         b1000 = 0;
      /* Billetes de 500 */
      if ( pesos >= 500 )
      {
         b500 = pesos / 500;
         pesos %= 500;
      }
      else
         b500 = 0;
      /* Billetes de 20 */
      if ( pesos >= 20 )
      {
         b100 = pesos / 20;
         pesos %= 20;
      }
      else
         b20 = 0;
      /* Monedas de 5 */
      if ( pesos >= 5 )
      {
         b5 = pesos / 5;
         pesos %= 5;
      }
      else
         b5 = 0;
     /* Monedas de 1 */
      if ( pesos >= 1 )
      {
         b1 = pesos / 1;
         pesos %= 1;
      }
      else
         b1 = 0;
      /* Monedas de 25 centavos */
      if ( pesos >= 0.25 )
      {
         b0.25 = pesos / 0.25;
         pesos %= 0.25;
      }
      else
         b0.25 = 0;
          /* Monedas de 10 centavos */
      if ( pesos >= 0.10 )
      {
         b0.10 = pesos / 0.10;
         pesos %= 0.10;
      }
      else
         b0.10 = 0;
          /* Monedas de 5 centavos */
      if ( pesos >= 0.05 )
      {
         b0.05 = pesos / 0.05;
         pesos %= 0.05;
      }
      else
         b0.05 = 0;
             /* Monedas de 1 centavos */
      if ( pesos >= 0.01 )
      {
         b0.01 = pesos / 0.01;
         pesos %= 0.01;
      }
      else
         b0.01 = 0;
      printf( "   %d Papeleta(s) de 1000", b1000 );
      printf( "\n   %d Papeleta(s) de 500", b500 );
      printf( "\n   %d Papeleta(s) de 20", b20 );
      printf( "\n   %d Papeleta(s) de 5", b5 );
      printf( "\n   %d Papeleta(s) de 1", b1 );
      printf( "\n   %d Centavo(s) de 25", b0.25 );
      printf( "\n   %d Centavo(s) de 10", b0.10 );
      printf( "\n   %d Centavo(s) de 1", b0.01 );
   }
   else
     printf( "   ERROR: Cantidad incorrecta, debe ser mayor que cero." );
  system("PAUSE"); 
  return 0;

1 respuesta

Respuesta
1
He arreglado tu programa de los pesos, pero no he podido hacer nada con el 1º programa porque no se lo que es un cubo narcisista, quizás es que en Mexico se llama de diferente forma que en España.
Bueno aquí está el programa de los pesos:
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
//He incluido algunas librerias que eran necesarias
int b1000, b500, b20, b5, b1, b025, b010, b005, b001;//Las variables no pueden
//incluir un punto, por tanto he cambiado eso en todo el programa
float pesos; //Debe ser un numero real, y a¤ado la var cantidad
int main(){
   clrscr();
   printf( "\n   Introduzca cantidad entera (Pesos): " );
   scanf( "%f", &pesos );//Cambio %d por %f
   if ( pesos > 0 )
   {
      /* Billetes de 1000 */
      if(pesos >= 1000)
    b1000 = pesos / 1000;
      else
    b1000 = 0;
      pesos -= b1000*1000; //Considerlo que lo que pretendias hacer era que
               //pesos pasase a valer el resto de la division
               //yo he hecho lo que pretendias hacer pero usando
               //otros operadores
               //Esta modificacion la hago en todos los apartados
      /* Billetes de 500 */
      if(pesos >= 500)
     b500 = pesos / 500;
      else
     b500 = 0;
      pesos -= b500*500;
      /* Billetes de 20 */
      if(pesos >= 20)
    b20 = pesos / 20;
      else
    b20 = 0;
      pesos -= b20*20;
      /* Monedas de 5 */
      if(pesos >= 5)
    b5 = pesos / 5;
      else
    b5 = 0;
      pesos -= b5*5;
      /* Monedas de 1 */
      if(pesos >= 1)
    b1 = pesos / 1;
      else
    b1 = 0;
      pesos -= b1*1;//Aunque es absurdo multiplicar por 1, lo dejo para que
            //que se vea la logica que sigue
      /* Monedas de 25 centavos */
      if(pesos >= 0.25)
    b025 = pesos / 0.25;
      else
    b025 = 0;
      pesos -= b025*0.25;
      /* Monedas de 10 centavos */
      if(pesos >= 0.10)
    b010 = pesos / 0.10;
      else
    b010 = 0;
      pesos -= b010*0.10;
      /* Monedas de 5 centavos */
      if(pesos >= 0.05)
    b005 = pesos / 0.05;
      else
    b005 = 0;
      pesos -= b005*0.05;
      /* Monedas de 1 centavos */
      if(pesos >= 0.01)
    b001 = pesos / 0.01;
      else
    b001 = 0;
      pesos -= b001*0.01;
      printf("\n   %d Papeleta(s) de 1000", b1000 );
      printf("\n   %d Papeleta(s) de 500", b500 );
      printf("\n   %d Papeleta(s) de 20", b20 );
      printf("\n   %d Papeleta(s) de 5", b5 );
      printf("\n   %d Papeleta(s) de 1", b1 );
      printf("\n   %d Centavo(s) de 25", b025 );
      printf("\n   %d Centavo(s) de 10", b010 );
      printf("\n   %d Centavo(s) de 1", b001 );
   }
   else
     printf( "   ERROR: Cantidad incorrecta, debe ser mayor que cero." );
  getch();//He cambiado system("PAUSE"); por getch(); porque no me funcionaba
  return 0;
}
Es igual ya he averiguado lo que son cubos narcisistas:
Este programa calcula cuales son los cubos narcisistas menores o iguales que 500:
#include <conio.h>
#include <stdio.h>
int main(){
  int i, j, k, ic, jc, kc, num;
  clrscr();
  for(i=0; i<10; i++)
  {
    ic = i*i*i;
    for(j=0; j<10; j++)
    {
      jc = j*j*j;
      for(k=0; k<10; k++)
      {
        kc = k*k*k;
    num =(i*100) + (j*10) + (k*1);
        if(num == ic + jc + kc)
         printf("%d es un numero narcisista\n", num);
      }
    }
  }
  getch();
  return 0;
}
Disculpa el de los números narcisistas hay una parte roja pero aquí la puse en negrita mira y con el de las monedas el programa no corre yo uso el dev-c++ 4.9.9.2
#include <conio.h>
#include <stdio.h>
int main()
{
  int i, j, k, ic, jc, kc, num;
  clrscr();
  for(i=0; i<10; i++)
  {
    ic = i*i*i;
    for(j=0; j<10; j++)
    {
      jc = j*j*j;
      for(k=0; k<10; k++)
      {
        kc = k*k*k;
    num =(i*100) + (j*10) + (k*1);
        if(num == ic + jc + kc)
         printf("%d es un numero narcisista\n", num);
      }
    }
  }
  getch();
  return 0;
}
Disculpame ya arregle el del cubo narcisista solo tuve que borrar el clrscr(); y listo pero que debo cambiar para que envés de 500 sean 5,000 gracias
Pues no debería dar tales errores. Yo no uso Dev C++ 4.9.9.2 ya que esa version en BETA y tiene muchos errores, asique prueba con alguna anterior que sea estable. Te obligan a programar en Dev C++? Porque si tienes la ocasión de programar en Turbo C++ 3.0 todo sería mucho más fácil ya que es el que yo utilizo para programar aplicaciones de consola...
Para hacerlo con 5000 el relustado es el mismo ya que no hay más cubos narcisistas, pero el código sería así:
#include <conio.h>
#include <stdio.h>
int main(){
  int i, j, k, l, ic, jc, kc, lc, num;
  for(i=0; i<5; i++)
  {
    ic = i*i*i;
    for(j=0; j<10; j++)
    {
      jc = j*j*j;
      for(k=0; k<10; k++)
      {
    kc = k*k*k;
    for(l=0; l<10; l++)
    {
      lc=l*l*l;
      num = i*1000 + j*100 + k*10 +l;
      if(num == ic + jc + kc + lc)
        printf("%d es un numero narcisista\n", num);
    }
      }
    }
  }
  getch();
  return 0;
}
--------------------------------------------------------------------------------------------
¿Qué problema tienes con el programa de los pesos?
al aparecer es la libreria #include <iostream.h>
Disculpa ya lo arregle lo que tenia que hacer era borrar esto clrscr(); y listo
Ok pues si ya esta resuelte, ¿me haces el favor de cerrar la cuestión?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas