[Ansi C] wyswietlanie tekstu


(Gribo16) #1

Witam mam jakiś taki dziwny problem otóż

for(i = 0; i <= N+1; i++)

	for(j = 0; j <= N+1; j++) {

		if(tab[i][j] =='o')

		{

			tab[i][j] = 'O';

			ile++;

			licz_kwadraciki(tab, i, j, &ile);

			printf("%i\n",ile);

			ile=0;

		}

		else {

			printf("F");

			sleep(1);

		}

	}

Program powinien pokazywac po jednym F po wejściu do else w Borlandzie praogram dziala dobrze natomiast na serwerze linuxowym uczelni program zamiast wyswietlac po jednej literce buforuje gdzies te printfy i pokazuje juz jak uzbiera z 7-8 "F". Zaznacze ze funkcja licz_kwadraciki jest rekurencyjna znacie jakiś sposóba na to by działalo jak w borlandzie ?


(Fiołek) #2

A jaką wartość ma zmienna N?

Skompiluj to u siebie GCC/Visualowym kompilatorem i sprawdź debuggerem. Zobacz ile razy się pętla wykonuje.


(Gribo16) #3

Pętla dobrze sie wykonuje to jest tylko wycinek kodu który dałem. jeden problem jest własnie z tymi printami bo jesli dojdzie do niego to nie wyświetla "F" tylko czeka aż rekurencja sie zakończy i dopiero wtedy wyświetli odrazu 7 lub wiecej "F"


(Asterisk) #4

Zapoznaj się proszę z tą stroną i zmień tytuł na konkretny.

Inaczej temat poleci do śmietnika.


(pasquali) #5

Użyj funkcji fflush ( stdin ); zaraz po printf'ie.

Pzdr