Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите найти ошибку в коде!!! for i:= 1 to n do begin 
:(
    Опции темы
Kankuro
Дата 20.11.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Добрый день всем!!! Значит решио практиковаться во вложенных циклах...решил сделать что то типо матрицы=)))) вот смотрите 
Код

 program asd;
uses Graph,crt;
var a,c,d:string;
    gd,gm,i,b,g,p,j,s:integer;
begin
g:=1;
p:=1;
gd:=0;
InitGraph(gd,gm,'c:\tp7\BGI');
SetBkColor(0);
SetColor(2);
randomize;
g:=0;
p:=0;
s:=0;
setColor(2);
for i:= 1 to 5 do begin
p:=p+1;
for i := 1 to 50 do begin
delay(7000);
i:=i+(10*g);
b:=random(3);
If b=0 then a:='1';
If b=1 then a:='2';
If b=2 then a:='3';
OutTextXY (p,i,a);
i:=i-(10*g);
g:=g+1;
end;
end;
repeat until keypressed;
end.                                                                          


Выводит одну строку но видимо накладывает ее друг на друга 5 раз...вот в чем проблема=))) помогите найти ошибку в коде...Заранее спасибо!!! smile 
PM MAIL ICQ   Вверх
bems
Дата 20.11.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: нет
Всего: 88



значение переменной цикла нельзя изменять внутри цикла. 
Т. е. для этого
Цитата(Kankuro @  20.11.2008,  19:20 Найти цитируемый пост)
for i := 1 to 50 do begin

нужно завести особую переменную, и это
Цитата(Kankuro @  20.11.2008,  19:20 Найти цитируемый пост)
i:=i+(10*g);

тоже нельзя


--------------------
Обижено школьников: 8
PM MAIL   Вверх
volvo877
Дата 20.11.2008, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Цитата(Kankuro @  20.11.2008,  18:20 Найти цитируемый пост)
вот смотрите 
Посмотрели... Ужаснулись... А теперь ты смотри: 

Цитата
Код
for i:= 1 to 5 do begin
  p:=p+1;
  for i := 1 to 50 do begin { <--- Кто разрешил менять I? У тебя внешний цикл открыт по I }
    delay(7000);
    i:=i+(10*g); { <--- Здесь кто разрешил менять I? Внутри цикла его управляющая переменная неприкосновенна... }
    b:=random(3);
    If b=0 then a:='1';
    If b=1 then a:='2';
    If b=2 then a:='3';
    OutTextXY (p,i,a);
    i:=i-(10*g); { <--- То же самое и здесь }
    g:=g+1;
  end;
end;
Сделай вот так:
Код
...
randomize;
p:=0;
s:=0;
setColor(2);
for j:= 1 to 5 do begin
  g:=0;
  p:=p+15;
  for i := 1 to 50 do begin
    delay(1000);
    b:=random(3);
    If b=0 then a:='1';
    If b=1 then a:='2';
    If b=2 then a:='3';
    OutTextXY (p,i+10*g,a);
    g:=g+1;
  end;
end;
...
, убедись, что рисуются все 5 столбцов и экспериментируй дальше smile
PM MAIL   Вверх
Kankuro
Дата 21.11.2008, 04:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Спасибо все получилось  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.