Pętle zagnieżdżone

0

Hej!
Chcę użyć pętli zagnieżdżonych do wyświetlenia następujących znaków:

$
$$
$$$
$$$$
$$$$$

Wymyśliłem coś takiego:

 #include <stdio.h>
#define RZEDY 5
#define WIERSZE 5

int main(void)
{

	char ch = '$';
	int index, iks;
	
	for(index = 0; index < RZEDY; index++)
	{
		for(iks = index; iks < WIERSZE; iks++)
		printf("%c", ch);
		printf("\n");
	}
	
	getchar();
	return 0;
}

Problem polega na tym, że wyświetlone znaki wyglądają tak:

$$$$$
$$$$
$$$
$$
$

Siedzę i myślę jak je "obrócić" i nie mam pomysłu jak to zrobić. Moglibyście mi coś podpowiedzieć?

1

No to odliczaj w drugą stronę:

for(index = RZEDY; index >= 0; --index)
0

No tak, też tak kombinowałem, ale tworzy mi się wtedy pętla nieskończona. Wygląda to dokładnie tak:

#include <stdio.h>
#define RZEDY 5
#define WIERSZE 5

int main(void)
{

	char ch = '$';
	int index, iks;
	
	for(index = 0; index < RZEDY; index++)
	{
		for(index = RZEDY; index >= 0; --index)
		printf("%c", ch);
		printf("\n");
	}
	
	getchar();
	return 0;
}
 
0

Czemu używasz tej samej zmiennej sterującej w obu pętlach?

0

Użyj w zagnieżdżonej pętli iks zmienną iks zamiast zmiennej index.

0

No tak, rzeczywiście masz rację. Po zmienieniu zmiennej wygląda to tak:

 #include <stdio.h>
#define RZEDY 5
#define WIERSZE 5

int main(void)
{

	char ch = '$';
	int index, iks;
	
	for(index = 0; index < RZEDY; index++)
	{
		for(iks = RZEDY; iks >= 0; --iks)
		printf("%c", ch);
		printf("\n");
	}
	
	getchar();
	return 0;
}

Teraz wyświetla mi:

$$$$$
$$$$$
$$$$$
$$$$$
$$$$$

0

To co napisałem w pierwszym poście dotyczyło pierwszej pętli. Chyba widać to po indeksie?

0

No rzeczywiście:)
Tak jak napisał Macron też działa, więc wielkie dzięki Panowie. Temat do zamknięcia

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