Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 13:40   #1
Gesik
Новичок
Джуниор
 
Регистрация: 25.11.2012
Сообщений: 2
По умолчанию Паскаль, массивы

Здравствуйте. Одногруппница принесла задачу по паскалю, выделенную ручкой никак не может решить.

Помогите пожалуйста.
Gesik вне форума Ответить с цитированием
Старый 25.11.2012, 13:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
const x:array[1..2] of integer=(1,2);
var y:array[1..2] of integer; i,j:integer;
begin
 y[1]:=x[1];
 for i:=2 to 2 do begin 
  for j:= 2 to i do y[i]:=y[i]+x[j];
  write(y[i]:5);
 end;
 readln;
end.
Подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 14:21   #3
Gesik
Новичок
Джуниор
 
Регистрация: 25.11.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
const x:array[1..2] of integer=(1,2);
var y:array[1..2] of integer; i,j:integer;
begin
 y[1]:=x[1];
 for i:=2 to 2 do begin 
  for j:= 2 to i do y[i]:=y[i]+x[j];
  write(y[i]:5);
 end;
 readln;
end.
Подходит?
Скоро проверю. Спасибо за помощь.
Gesik вне форума Ответить с цитированием
Старый 25.11.2012, 14:49   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Stilet, а почему n нет? не уверен, что новичку будет легко понять, как изменить данный пример, если элементов более двух...

кроме того, пример содержит грубую ошибку: внутренний цикл нужно делать от единицы (for j:=1 to ...)

я бы так пример скорректировал:
Код:

const 
  n = 3; {размерность массива}
  x:array[1..n] of integer=(10,20,30); {пример заполнения массива x}

var 
  y:array[1..n] of integer; 
  i,j:integer;
begin
 y[1]:=x[1];
 for i:=2 to n do begin 
  y[i] := 0; {обнулили сумму перед подсчётом}
  for j:= 1 to i do y[i]:=y[i]+x[j]; {просуммировали все элементы от 1}
  write(y[i]:5);
 end;
 readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2012, 15:24   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
почему n нет?
Потому что девушка не моя )
Цитата:
пример содержит грубую ошибку
Да, согласен, недодумал.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.11.2012, 16:57   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet
Потому что девушка не моя )
Это серьёзный аргумент, тут мне возразить нечего!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.11.2012, 17:14   #7
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

А размерность это что?
Это

Код:
const 
    SIZE = 1000;
var
    a : array [1..SIZE] of Integer;
или это
Код:
a : array [1..100] of Integer;
...
WriteLn ('Введите размерность массива');
ReadLn (n);

for i := 1 to n do
   ....
?
Poma][a вне форума Ответить с цитированием
Старый 25.11.2012, 18:44   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Poma][a, можно и так и так.
Поскольку в задаче сказано, что дан массив X размерности n, но не сказано, что размерность задаётся операторов в процессе работы (и откуда берутся значения в массиве X, кстати, в условиях задачи тоже не оговаривается!).
Как и во всех подобных случаях, можно или уточнять у преподавателя, как лучше, или, если понимаешь что к чему, делать так, как САМОМУ проще удобнее и доказывать преподавателю, что выполненный код полностью соотвествует заданию.

Выбирать Gesik...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Массивы Ондрюша Помощь студентам 3 14.06.2012 13:02
Массивы. Паскаль. ТатьянаЧернышева Помощь студентам 6 22.12.2011 23:49
Паскаль. Массивы deceiver Помощь студентам 3 08.03.2009 15:12
массивы Паскаль Натуськ@25 Помощь студентам 1 13.02.2009 19:33