Programación General > Visual C++
triangulo divisiorio usando continue
cazagavilan:
3
33
66
696
690096
90390
90366309
--- Código: C++ ---#include "stdafx.h"#include <iostream>using namespace std; int main(){ const int filas = 9; int i; int n; cout <<"Introduzca el numero deseado: \n"; cin >> n; for(i = 1; i <= filas; i++) { for( n=n; n<=0; n++) { if ( n % n != 0) continue; cout << n; } }}Hola, esto es lo que me ha salido, un desastre, a ver si alguien me puede dar una pista, por favor ser un poco comprensivos.
Gracias.
ProfesorX:
No se a que te refieres con un "triangulo divisorio".
Si fueras un poco mas especifico respecto a cual deberia ser el resultado del programa, te podriamos orientar mejor.
Saludos :)
cazagavilan:
Modifica el ejercicio numero 3( que es este):
--- Código: C++ ---#include "stdafx.h"#include <iostream>using namespace std; int main(){ int filas = 9; int i; int j; for(i = 1; i <= filas; i++) { cout<<i; for(j = i + 1; j <= (2 * i - 1); j++) cout << j%10; for(j=j-2; j >= i; j--) cout << j%10; cout << endl; }}
Ahora el programa debe mostrar por pantalla solo los numeros que sean divisibles por el segundo numero. Utiliza la instruccion continue. Por ejemplo, si pido solo los numeros divisibles entre 3:
3
33
66
696
690096
90390
90366309.
Esto es lo que me dice el ejercicio.
Muchas gracias.
cazagavilan:
Me he equibocado con el titulo del tema xD.
ProfesorX:
La verdad ese algoritmo esta muy enredado, casi no se entiende el objetivo del mismo, es todo un acertijo matematico :think:
Bueno, trate de seguir el enunciado del problema original, si lo entendi bien, es dividir el numero que obtenias en el algoritmo original (j%10), entre un numero n dado (o sea (j&10)%n).
Haciendo la modificacion, y siguiendo la premisa de usar continue, obtuve el siguiente codigo, que utilizando el valor de prueba 3, me da una secuencia muy parecida a la que deberias obtener, asi que por eso publico el codigo, sin embargo solo es parecida, ya que la secuencia que obtengo con el valor 3 es la siguiente:
3
33
66
696
690096
90309
903309
90366309
Si observas, la secuencia difiere en los ultimos 3 numeros.
Quizas copiaste mal la secuencia, y la secuencia correcta es la que estoy publicando :yes:
En todo caso, si no es esa la respuesta, me rindo, porque como dije antes es todo un enigma :think:
--- Código: ---#include <iostream>
using namespace std;
int main()
{
int filas = 9;
int i;
int j;
int n;
cout <<"Introduzca el numero deseado: \n";
cin >> n;
for(i = 1; i <= filas; i++)
{
if (i % n == 0)
cout<<i;
for(j = i + 1; j <= (2 * i - 1); j++)
{
if ((j % 10) % n != 0)
continue;
cout << j%10;
}
for(j=j-2; j >= i; j--)
{
if ((j % 10) % n != 0)
continue;
cout << j%10;
}
cout << endl;
}
}
--- Fin del código ---
Saludos :)
Navegación
[#] Página Siguiente
Ir a la versión completa