-2
votes

Quel est le calcul derrière pour les boucles dans ce problème de CS50 défini avec c

Je traverse actuellement CS50 via EDX et faire des problèmes 1, Mario.

L'objectif est de créer une impression à l'aide de panneaux de livre. Avec l'aide de certaines vidéos, j'ai eu le code pour le premier mais je ne comprends pas fondamentalement comment les mathématiques fonctionnent / ce que l'ordinateur est compréhensif. P>

donc je pense que je n'apprends pas je ' m me déchirant plus tard. p>

si n = 5 code> p>

alors je l'ai ajouté jusqu'à ce qu'il ne soit pas inférieur à 5, ce qui signifie 5 fois oui? P>

Regardez cette ligne pour la boucle d'espace>
pour (int j = 0; j p>

si n est 5, alors il finit par être j (0)

Alors pourquoi sur la première ligne y a-t-il quatre espaces et pas trois espaces? p>

#include <cs50.h>
#include <stdio.h>
int main(void)
{
    int n;
    do
    {
        n = get_int("Pyramid Height: ");
    }
    while (n < 0 || n >= 24);

    //print out this many rows
    for (int i = 0; i < n; i++)
    {


        for (int j = 0; j < n -1 - i; j++)
    {
       printf(" ");
    }
    // print out this many columns
        for (int j = 0; j < i + 2; j++)
        {
            printf("#");
        }
        printf("\n");
    }

}


1 commentaires

apprendre Comment formater et vous saurez pourquoi


3 Réponses :


0
votes

Si N = 5, N-1-J serait égal 5-1-0 I.E. 4 Pour la première fois, exécutant la boucle, c'est la raison pour laquelle vous voyez quatre espaces. La première condition de boucle doit être N-2-J si vous voulez que le nombre d'espaces soit trois car le nombre total de colonnes est de 5 et que les livres attendues de la première rangée sont 2, vous devez donc soustraire 2 de n.


0 commentaires

0
votes

C'est vraiment trop compliqué.

Voici une version simple que j'ai fouettée: xxx

sortie: xxx < / p>


0 commentaires

0
votes

laissez-nous essayer de comprendre le motif ici. Comme pour la pyramide gauche si la hauteur de la pyramide est de 8, vérifiez le motif des espaces et des hachages de haut en bas. Dans ce cas, nous avons besoin de 8 lignes, chaque ligne a les mêmes caractères et aucun espaces diminue et que le nombre de hachages augmente de haut en bas.

Nous avons maintenant le motif de la moitié gauche, la moitié droite est la même, l'image miroir . Alors maintenant, nous pouvons écrire la boucle car nous connaissons le non des espaces et des hachages de haut en bas. Dans la programmation, nous devons comprendre le principe sous-jacent. Branchez le code par la suite devient facile. xxx


0 commentaires