Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
jolene
0 / 0 / 1
Регистрация: 31.03.2012
Сообщений: 9
#1

Странности в цикле for

31.03.2012, 14:56. Просмотров 1021. Ответов 4
Метки нет (Все метки)

Здравствуйте. Вот есть код. По-идее заполняет двумерный массив заданной размерности. Так-то он работает, но не совсем обычно =) Запускаю в режиме отладки, смотрю, как меняются переменные i и j в циклах for. И меняются они в обратном порядке, т.е. в первом цикле 5,4,3,2,1, ну и во вложенном, соответственно, так же, но, естественно, учитывая первый. Подскажите, пожалуйста: почему так? Целый день об этом забыть не могу...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
    i,j : integer;
  m : array[1..100,1..100] of integer;
begin
  randomize;
  for i:=1 to 5 do
    begin
      for j:=1 to 7 do
        begin
          m[i,j]:=random(100);
          write(m[i,j]:5);
        end;
      writeln;
    end;
readln;
end.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2012, 14:56
Ответы с готовыми решениями:

Переменная, которая только что использовалась в цикле в качестве счётчика в следующем цикле не используется
Помогите, пожалуйста. Вот отрывок программы (программа целиком- в архиве): ...

Странности с массивом HWND
Всем хорошего дня :) Возникла проблемка, не работают два подряд обращения к...

Странности буфера обмена
Возникла задача бэкапить данные с буфера обмена, а потом возвращать как было. ...

Странности соединения Autocad и Delphi в XP
Добрый вечер. Подскажите как решить проблему. Есть процедура, по которой...

Странные странности. Получение заголовков окон
Странные странности... В потоке получаю список заголовков окон. И если есть...

4
Puporev
Модератор
54352 / 41944 / 28978
Регистрация: 18.05.2008
Сообщений: 98,797
31.03.2012, 15:06 #2
Цитата Сообщение от jolene Посмотреть сообщение
Подскажите, пожалуйста: почему так?.
Не знаю, запустил а Турбо Паскале, все обычно i от 1 до 5, j от 1 до 7.
0
BumerangSP
4287 / 1409 / 463
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
31.03.2012, 15:17 #3
Puporev, в паскале да, в delphi же он их наоборот пишет.
0
jolene
0 / 0 / 1
Регистрация: 31.03.2012
Сообщений: 9
31.03.2012, 15:23  [ТС] #4
Цитата Сообщение от Puporev Посмотреть сообщение
Не знаю, запустил а Турбо Паскале, все обычно i от 1 до 5, j от 1 до 7.
Странно. Смотрю на Борландовской 7-й делфе сейчас и в институте смотрела на кодэмастерской делфе. Как только заходит в цикл - i=5 хмм... А вот если обойтись без массива, просто задать функцию от i,j, то меняется так, как должно.
0
Mawrat
12824 / 5732 / 1700
Регистрация: 19.09.2009
Сообщений: 8,807
01.04.2012, 04:13 #5
Лучший ответ Сообщение было отмечено как решение

Решение

В настройках проекта надо оптимизацию отключить - тогда счётчики в циклах будут обычным образом изменяться. Вообще, всегда перед отладкой проекта следует отключать оптимизацию:
Project - Options... - закладка "Compiler" - убрать галочку в поле "Optimization".
4
01.04.2012, 04:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2012, 04:13

Delphi 10, Class, File of class .странности
Здравствуйте. В Делфи я почти 0. Нужно для облегчения работы написать простую...

Странности в цикле
Написал вот такой код. Программа имитирует среду, в которой двигаются шарики и...

Как програмно в цикле не доходя до конца, пропустить шаг в цикле?
Как програмно в цикле не доходя до конца, пропустить шаг в цикле?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru