es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El código solo genera una fila al intentar dibujar un rectángulo.

void fyllRektangel(int hojd, int bredd);

int main(){
    int hojd;       //Altura
    int bredd;      //Ancho
    cin>>hojd;
    cin>>bredd;

    for(int r=1;r<=hojd;r+=1){
        for(int k=1;k<=bredd;k+=1)
            cout<<setw(4)<<&quot;*&quot;;></setw(4)<<&quot;*&quot;;><endl;
    return 0;

   }
}

¿por qué mi código solo imprime una fila, pero todas las columnas dentro de mi bucle for? estoy aprendiendo sobre patrones y la salida debería ser un rectángulo donde la altura y el ancho son ingresados por el usuario. return=”” 0;=”” }=”” }=”” ¿por=”” qué=”” mi=”” código=”” solo=”” imprime=”” una=”” fila,=”” pero=”” todas=”” las=”” columnas=”” dentro=”” de=”” mi=”” bucle=”” for?=”” estoy=”” aprendiendo=”” sobre=”” patrones=”” y=”” la=”” salida=”” debería=”” ser=”” un=”” rectángulo=”” donde=”” la=”” altura=”” y=”” el=”” ancho=”” son=”” ingresados=”” por=”” el=””></endl;
return 0;

   }
}

¿por qué mi código solo imprime una fila, pero todas las columnas dentro de mi bucle for? estoy aprendiendo sobre patrones y la salida debería ser un rectángulo donde la altura y el ancho son ingresados por el usuario.>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El problema con el código es que la instrucción return 0; ha sido colocada dentro del bucle for externo y, por lo tanto, interrumpe el programa después de que se imprime la primera fila. Para solucionar esto, mueve la instrucción return 0; fuera del bucle for externo de modo que todas las filas puedan ser impresas. Además, asegúrate de incluir la función setw antes del bucle interno para espaciar correctamente las columnas.

    Código modificado:

    “`
    void fyllRektangel(int hojd, int bredd);

    int main(){
    int hojd; //Altura
    int bredd; //Ancho
    cin>>hojd;
    cin>>bredd;

    for(int r=1;r<=hojd;r+=1){
        for(int k=1;k<=bredd;k+=1)
            cout<<setw(4)<<"*";></setw(4)<<"*";><endl;
    }
    
    return 0;
    

    }
    “` }=”” return=”” 0;=”” }=””></endl;
    }

    return 0;
    

    }
    “`>

Comments are closed.