powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по циклу и изменении счетчика
12 сообщений из 12, страница 1 из 1
Вопрос по циклу и изменении счетчика
    #34259326
Мойша Задов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переписываю код с Билдера на делфи
Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
for(int i=1;i<StringGrid1->RowCount;i++)
   {
	mas =random(StringGrid3->ColCount-1)+1;
	for(int j=1;j<i;j++)
		if(mas==mas[j]) 
                 {
                  i--;
                  break;
                }
   }


я переписал вот так - но компилятор ругается на dec(i);

Код:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
for i:=1 to StringGrid1.RowCount do
 begin
   	mas :=random(StringGrid3.ColCount-1)+1;

		for j:=1 to i do
     	if (mas=mas[j]) then
         begin
            dec(i);
            break;
         end;
 end;

как быть - есть выход?
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34259388
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мойша Задов
Вы бы воспользовались тегом SRC, неудобно же код читать. Тем более, в приведенном примере индексы похерились.

А вообще,

Код: plaintext
i := i -  1 ;


не катит?
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34259468
Мойша Задов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие индексы похерились?
Код: plaintext
i:=i- 1 ;
не проходит
ошибка
авторAssignment to FOR-Loop variable 'i'
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34259709
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мойша Задов пишет:

> я переписал вот так - но компилятор ругается на *dec(i);*

dec(i) замените на (--i)
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34259918
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мойша Задов как быть - есть выход? Используйте цикл while


MasterZivdec(i) замените на (--i)плохо согласуется с Мойша Задовпереписываю код с Билдера на делфи
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34261455
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
очевидно, надо избавиться от декремента, изменив логику после цикла
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34261913
Мойша Задов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а можно пример а то сделав вот так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
while i<StringGrid1.RowCount do
 begin
  mas:=random(StringGrid3.ColCount- 1 )+ 1 ;
   for j:= 1  to i do
    if (mas=mas[j]) then
     begin
       dec(i);
       break;
     end;
 inc(i)
end;

а т.к. при ПРЕВОЙ итерации по J у меня ВСЕГДА (mas=mas[1])
и это означает что i уменьшается во внутр. цикле for и тут же увеличивается в цикле while
Таким образом остается счетчик i на том же уровне
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34262034
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
было: Мойша Задов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 for  i:= 1   to  StringGrid1.RowCount  do 
  begin 
   	mas[i]:=random(StringGrid3.ColCount- 1 )+ 1 ;

		 for  j:= 1   to  i  do 
     	 if  (mas[i]=mas[j])  then 
          begin 
            dec(i);
            break;
          end ;
  end ;


стало: Мойша Задов
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 while  i<StringGrid1.RowCount  do 
  begin 
  mas:=random(StringGrid3.ColCount- 1 )+ 1 ;
    for  j:= 1   to  i  do 
     if  (mas=mas[j])  then 
      begin 
       dec(i);
       break;
      end ;
 inc(i)
 end ;


вы код прямо с форума копируете???
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34262127
Мойша Задов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
немного не понял что вы хотели сказать вышеизложенным сообщением

мне предложили Использовать цикл while вот я его и использовал - только код неправильно отработывает . А в билдере он работает как надо
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34262144
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для второго фора тоже используй вайл.
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34262145
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мойша Задовнемного не понял что вы хотели сказать вышеизложенным сообщениемЯ хочу сказать, что из-за неправильного оформления кода тегами у вас пропал индекс i

было:
Код: plaintext
mas[i]:=...
стало:
Код: plaintext
mas:=...
...
Рейтинг: 0 / 0
Вопрос по циклу и изменении счетчика
    #34262171
Мойша Задов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сделал
просто в билдере массив был с 0..9 а я сделал с 1..10
переправил на 0..9 и все заработало как надо
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по циклу и изменении счетчика
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]