04.05.2011, 10:40 | #1 (permalink) |
Member
Регистрация: 18.04.2011
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Одномерный целочисленный массив в паскале.
for i:=0 to10 do A[10-i]:=i; k:=A[9]; for i:=1 to 9 do A[10-i]:=A[9-i]; A[1]:=k; Чему будут равны элементы этого массива? |
04.05.2011, 10:40 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Можете посмотреть в ранее созданных на форуме темах Одномерный массив в Паскале Одномерный массив в Delphi Одномерный массив В Паскале двумерный массив |
04.05.2011, 13:09 | #5 (permalink) |
Member
Регистрация: 28.03.2010
Сообщений: 477
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1837
|
Если я все посчитала правильно, то должен получиться такой набор элементов: 1 9 8 7 6 5 4 3 2. Но я могла ошибиться.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
04.05.2011, 13:19 | #6 (permalink) |
Member
Регистрация: 28.03.2010
Сообщений: 477
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1837
|
Решается не сложно: здесь цикл с параметром от 0 до 10, Вам нужно поочередно принимать за i все целые числа от нуля до десяти. Начинаем: i:=0, A[10-0]:=0, A[10]:=0, то есть десятый элемент массива будет равен нулю. i:=1, A[10-1]:=1, A[9]:=1, девятый элемент равен единице. И так до десяти. k:=A[9] - это значит, что переменная k будет равна значению девятого элемента массива, то есть 1. Второй цикл делается также, только от единицы до девяти.
|
04.05.2011, 13:25 | #7 (permalink) |
Member
Регистрация: 28.03.2010
Сообщений: 477
Записей в дневнике: 4
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 1837
|
Второй цикл: начинаем с 1 - i:=1, A[10-1]:=A[9-1], A[9]:=A[8]. Это значит, что теперь девятый элемент примет значение восьмого, которое задается первым циклом, когда i:=2, A[10-2]=2, A[8]:=2. То есть, девятый элемент теперь будет равен двум.
|
04.05.2011, 13:27 | #9 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
А считать на пальцах мне лень, есть машина, она железная, вот пусть и трудится. А потому оформляем программу: Код:
Uses CRT; VAR A:Array[0..10] of Byte; i,k:Byte; BEGIN ClrScr; for i:=0 to 10 do A[10-i]:=i; k:=A[9]; for i:=1 to 9 do A[10-i]:=A[9-i]; A[1]:=k; for i:=0 to 10 do Write(A[i]:3); ReadLn; END. |
|
04.05.2011, 13:37 | #10 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
Вот ведь незадача, про нулевой элемент я забыл
Нашел похожее задание. Там в вариантах ответа действительно 11 чисел, а не 9.
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|