Program od "rysowania" figur

0

Cześć, potrzebuję pomocy, podpowie ktoś jak zrobić program, który "rysuje" figury w zależności od podanych parametrów? Ogólnie doszedłem to czegoś takiego:

#include <stdio.h>

int main(void)
{
    int i;
    int odstep, znaki, h;

    odstep = 10;
    znaki = 1;
    h = 5;

    i = 0;
    while (h<5)
    {
         printf("\n");
         i = i + 1;
    }

    i=0;
    while(i < odstep)
    {
        printf(" ");
        i = i + 1;
    }

    i = 0;
    while(i < znaki)
    {
        printf("*");
        i = i + 1;
    }

    i = 0;
    {
         printf("\n");
         i = i + 1;
    }

    i = 0;
    while(i < odstep)
    {
        printf(" ");
        i = i + 1;
    }
    
    i = 0;
    while(i < znaki+1)
    {
        printf("*");
        i = i + 1;
    }

    printf("\n");

    return 1;
}

I problem jest w tym, że nie wiem jak wykorzystać poprawnie pętle żeby to jakoś ładnie chodziło, a wypisywanie pętli to chyba nie o to chodzi. Tak to powinno wyglądać w wierszu poleceń:
screenshot-20221023134807.png
Tak samo z innymi figurami.

2

Cześć,

przede wszystkim pętle while można w Twoim przypadku łatwo zastąpić pętlami for, np.: zamiast while(i < odstep) to daj for(int i = 0; i < odstep; i++), daje to bardziej zwięzłą składnię i pętla for jest do tego idealna.
Druga sprawa, to np. masz pierwszą pętlę while(h<5) z h = 5, która nigdy się nie wykona. Program jest wykonywany sekwencyjnie, linia po linii, więc już po przejściu przez daną pętlę Twój program nie wykona jej drugi raz.

0
KK7 napisał(a):

Cześć,

przede wszystkim pętle while można w Twoim przypadku łatwo zastąpić pętlami for, np.: zamiast while(i < odstep) to daj for(int i = 0; i < odstep; i++), daje to bardziej zwięzłą składnię i pętla for jest do tego idealna.
Druga sprawa, to np. masz pierwszą pętlę while(h<5) z h = 5, która nigdy się nie wykona. Program jest wykonywany sekwencyjnie, linia po linii, więc już po przejściu przez daną pętlę Twój program nie wykona jej drugi raz.

Dzięki za pomoc

1
#include <iostream>

using namespace std;

int height;

int main()
{
	cout << "Podaj wysokosc: ";
	cin >> height;

	for (int i = 1; i <= height; i++)
	{
		for (int j = 0; j < i; j++)
		{
			cout << "*";
		}
		cout << endl;
	}
	return 0;
}

Masz tu chyba najprostszy program jaki się da dla tej figury? Jakie konkretnie figury chciałbyś jeszcze?

1 użytkowników online, w tym zalogowanych: 0, gości: 1