Тема: Як виправити таку помилку при обході циклами?
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <windows.h>
void gotoxy(int x, int y)
{
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
}
int main()
{
int i, j, k;
printf("Input start: ");
scanf_s("Input start: ");
for (i = 0; i < 100; i++)
{
int x = 1;
int y = 24;
if (i % 2 == 0) {
x += i;
for (j = 0;j <= i;j++) {
if (j >= 48) {
gotoxy(x - j%24, y - j%24);
printf("1");
Sleep(10);
}
else {
gotoxy(x - j, y - j);
printf("1");
Sleep(20);
}
}
}
else {
y -= i;
for (j = 0;j <= i;j++) {
if (j >= 48) {
gotoxy(x + j%24, y + j%24);
printf("0");
Sleep(10);
}
else {
gotoxy(x + j, y + j);
printf("0");
Sleep(20);
}
}
}
}
getch();
return 0;
}
На першому фото напрямок обходу, в мене він працює правильно, але коли і дуже велике, то воно починає неправильно працювати. ( друге фото )
Розмір поля: 80х24
Як це виправити?