• Jueves 14 de Noviembre de 2024, 22:58

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - amgc

Páginas: [1]
1
C/C++ / Programar doble pirámide de integers
« en: Miércoles 16 de Febrero de 2011, 22:09 »
Hola, quisiera programar una doble pirámide de números (int), es decir, compuesta de una ascendente y otra descendente, comprendida entre 1 y el dato que de el usuario (<=9). Por ejemplo, si introduzco 6, que la pirámide sea así (que las cadenas estén centradas):

12345654321
 234565432
  3456543
   45654
     565
      6
     565
   45654
  3456543
 234565432
12345654321

Recibid un cordial saludo.
Ángel Manuel.

2
C/C++ / Re: No dejar espacio tras último dato
« en: Miércoles 16 de Febrero de 2011, 22:01 »
Cita de: "herzdark"
mmm muy buena pregunta pero yo lo intentaria con el operador ? ej: condición?resp verdadera:resp falsa y ademas la condición del for no es <= porque como lo estas tomando no contas el valor i=n porque n es divisor de si mismo xej 6 tiene div a 1,2,3 y 6
Código: C++
  1. bool perfecto(int n)
  2. {int suma, i;
  3.  suma = 0;
  4.  for (i = 1; i <= n; i++)
  5.   {if (n % i == 0)
  6.     {suma += i;
  7.      cout << i <<(i!=n)? " ":endl;// impresión de divisores
  8.      }
  9.   }
  10.  if (suma == n)
  11.     return true;
  12.   else
  13.     return false;
  14. }
  15.  
  16.  

espero q te alla servido

Estimado usuario:

Su respuesta me ha sido de gran utilidad. Muchísimas gracias.
Reciba un cordial saludo.

3
C/C++ / Re: No dejar espacio tras último dato
« en: Martes 15 de Febrero de 2011, 15:28 »
Cita de: "Amilius"
Simple: imprimirlo antes.
Como de antemano es posible saber si ya imprimiste un número (actualizando una variable "bool"), no imprimas un espacio antes del número si aún no imprimiste un número.

Hola, cómo que imprimirlo antes, es que no le he entendido; lo que quiero es que tras el último divisor impreso no se deje ningún espacio. He probado con líneas para que no se dejase espacio si no se hacían repeticiones (i++) pero o bien falla o aparecen absurdeces. Si no le importa, escriba en la respuesta alguna línea de código para entendernos mejor.

Muchas gracias
Un saludo

4
C/C++ / No dejar espacio tras último dato
« en: Lunes 14 de Febrero de 2011, 21:27 »
Código: C++
  1. bool perfecto(int n)
  2. {
  3.     int suma, i;
  4.     suma = 0;
  5.     for (i = 1; i < n; i++)
  6.     {
  7.         if (n % i == 0) {
  8.             suma += i;
  9.             cout << i << " ";} // impresión de divisores
  10.     }
  11.     if (suma == n)
  12.         return true;
  13.     else
  14.         return false; }
  15.  
Ese bloque de código hace referencia a una función empleada para calcular si un número es perfecto y como pueden observar, hay una línea que imprime cada uno de sus divisores propios dejando un espacio entre éste y el siguiente, pero quisiera que no se dejase un espacio en blanco tras el último divisor. ¿Qué puedo hacer para resolver esto?

Reciban un cordial saludo.
Atentamente, Ángel Manuel. :comp:

Páginas: [1]