Форум » Обработка числовых последовательностей » C4 задача 4 » Ответить

C4 задача 4

Алексей28: readln(N); for i:=1 to N do begin readln(s); p := Pos(' ', s); s := Copy(s,1,p-1); c := 1; for k:=1 to i-1 do if s = Info[k].name then c := c + 1; Info.name := s; Info.count := c; end; У меня вопрос по циклам. Если цикл идёт сначала по значению i:=1, следовательно k будет от 1 до 0. Я не понимаю этого действия. Поясните пожалуйста

Ответов - 4

проол: Алексей28 пишет: Если цикл идёт сначала по значению i:=1, следовательно k будет от 1 до 0. Я не понимаю этого действия. Поясните пожалуйста Т. к. в команде цикла стоит служебное слово to (for k:=1 to i-1 do) , то тело цикла не будет выполняться, если начальное значение БОЛЬШЕ конечного. При равенстве начального и конечного тело выполнится ОДИН раз. Аналогично: если бы стояло слово downto, то тело цикла ни разу не выполняется, если начальное значение меньше конечного...

Алексей28: это я знаю, мне не понятно как он будет считать С, если он не сможет пойти по второму циклу

oval: для i = 1 т.е первый раз второй цикл не будет выполняться, для i = 2 вторая строка будет сравниваться только с тем, что записали в Info[ i].name из первой прочитанной строки, и если условие будет выполняться, то с увеличится


Алексей28: спасибо.



полная версия страницы