Вы не удосужились рассказать, чего хотите добиться.
Вы не говорите, что не работает и что Вы делали, чтоб заработало.
Вы выкладываете на линуксовом форуме досовские исходники. Где прикажете искать турбо паскаль, чтоб проверить Ваши исходники?
Если форум называется “Программирование общее”, Вы ведь не ожидаете здесь ответы на вопросы о программировании на ассемблере для каких-нибудь VAX’ов? Так почему же Вы удивляетесь тому, что линуксоиды не отвечают на вопросы о программирование под ДОС?
Вы меня не поняли. Что прикажете мне делать с ДОСовским турбопаскалем под Линухом?
Что касается программы. Паскаля под рукой нет, ставить лень. Но общий алгоритм от языка зависит слабо, если знаете Си, вот Вам рабочий вариант:
#include <stdio.h>
int main ()
{
int i;
char a[] = {'|', '/', '-', '\\'};
while (1) {
for (i = 0; i < 4; i++) {
printf ("\b%c", a_); } } }_
Т.е. затираем предыдущий символ, на его место выводим следующий. Когда переберется весь массив, обнуляем индекс, т.е. возвращаемся на первый символ и повторяем все заново.
ЗЫ. А строка
m:= (m+1) mod 4;
меня повергла в совершенное недоумение. Что это за операция? Остаток от деления? Что она возвращает для выражений 1 mod 4, 2 mod 4…?
| EvilShadow писал(а) Sun, 18 November 2007 22:33 |
|
ЗЫ. А строка
m:= (m+1) mod 4;
меня повергла в совершенное недоумение. Что это за операция? Остаток от деления? Что она возвращает для выражений 1 mod 4, 2 mod 4…?
|
Да, это остаток от деления нацело, что очень удобно для быстрой организации “круглых” циклов. 1 mod 4 = 1, 2 mod 4 = 2, 3 mod 4 = 3, 4 mod 4 = 0 и так далее по кругу.