Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 24.01.2016
Сообщений: 2
1

Заменить каждый элемент массива на сумму предыдущего и последующего элемента

28.01.2016, 20:30. Просмотров 2385. Ответов 2
Метки нет (Все метки)

Дан массив размера N. Заменить каждый элемент(кроме крайних) массива на сумму предыдущего и последующего элемента. Без вспомогательного массива.
Например:
исх массив:
5 4 3 9 2 1
рез:
5 8 13 5 10 1
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.01.2016, 20:30
Ответы с готовыми решениями:

Заменить в массиве каждый нулевой элемент полусуммой последующего и предыдущего
Составить программу с использованием базовых алгоритмов для работы с одномерными массивами Ввести...

Заменить в массиве каждый нулевой элемент полусуммой последующего и предыдущего
Ввести с клавиатуры список, состоящий из 10 элементов. Заменить в нем каждый нулевой элемент...

Создать массив, где каждый элемент будет суммой из предыдущего и последующего элементов первого массива
Привет, помогите, пожалуйста. Тема такая: нужно сгенерировать 20 элемнтов массива из 4-хзначных...

Вместо каждого отрицательного элемента поставить сумму квадратов предыдущего и последующего элементов массива
Помогите перевести из паскаля Дан одномерный массив числовых значений, насчитывающий N...

2
Модератор
60897 / 45705 / 31535
Регистрация: 18.05.2008
Сообщений: 109,997
28.01.2016, 21:12 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var a:array[1..100] of integer;
    n,i,x,y,z:integer;
begin
randomize;
write('n=');
readln(n);
writeln('Исходный массив');
for i:=1 to n do
 begin
  a[i]:=random(50);
  write(a[i]:4);
 end;
writeln;
i:=2;
x:=a[1];
y:=a[2];
z:=a[3];
repeat
a[i]:=x+z;
x:=y;
y:=z;
i:=i+1;
z:=a[i+1];
until i=n;
writeln('Измененный массив');
for i:=1 to n do
write(a[i]:4);
end.
0
3837 / 1798 / 1974
Регистрация: 10.12.2014
Сообщений: 6,992
29.01.2016, 09:36 3
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно обойтись всего двумя вспомогательными переменными:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  a : array [1..6] of integer = (5,4,3,9,2,1);
 
begin
  WriteLn(a);
  var p := a[1];
  for var i := 2 to 5 do
    begin
      var pp := a[i];
      a[i] := p + a[i+1];
      p := pp;
    end;
  WriteLn(a);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2016, 09:36

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

Считать строку из чисел, вывести на экран сумму предыдущего и последующего элемента
Считать строку из чисел, вывести на экран Сумму предыдущего и последующего (для первого элемента...

Каждый элемент массива на единицу больше, чем квадратный корень из предыдущего, найти сумму всех элементов
Помогите с решением задачи на C#. Каждый элемент массива на единицу больше, чем квадратный корень...

Каждый элемент массива заменить остатком от деления элемента на 7
Задание: Ввести двумерный массив. Каждый элемент, стоящий в мас-сиве на позиции с четной суммой...

Заменить каждый неположительный элемент массива Х абсолютной величиной элемента массива Y с тем же индексом
Добрый день. Нужно решить задачку: Заменить каждый неположительный элемент массива Х абсолютной...


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

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

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