Programación General > Visual C++

 triangulo divisiorio usando continue

(1/2) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa