Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 37
1

Заменить все элементы массива, кроме крайних, на полусумму соседних

24.01.2012, 16:02. Показов 2735. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание: Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, заменяет все элементы массива, кроме крайних, на полусумму соседних, и печатает результат. Народ. Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2012, 16:02
Ответы с готовыми решениями:

Сформировать "сглаженный" массив, заменив в исходном все элементы, кроме крайних, по формуле
Дан массив A, состоящий из n-элементов. Сформировать "сглаженный" массив, заменив в ...

Заменить все элементы нулями, кроме эл-ов, находящихся в строке и столбце
Добрый день! Задача такая: В матрице размером N x N найти наибольший элемент главной диагонали и...

Заменить каждый элемент массива суммой соседних индексов. Если соседних элементов нет, то число оставить без изменения.
1)Дан одномерный массив, который содержит не более 50 целых чисел. Заменить каждый элемент массива...

Все элементы массива, кроме последнего, сдвинуть на 1 элемент в право
Не как не могу разобраться :( Вообще не понимаю как решать. 1. В программе описан одномерный...

3
122 / 122 / 73
Регистрация: 29.10.2011
Сообщений: 308
24.01.2012, 16:51 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

сделал набросок, но что то не так маленько, не могу понять в чем косяк. проводил тесты, mas[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
29
30
31
uses crt;
const
     n=5;
var
   mas:array[1..n] of real;
   psum:real;
   i:integer;
begin
for i:=1 to n do
    begin
    write('Ââåäèòå mas[',i,']: ');
    readln(mas[i]);
    end;
//--------------------------------
clrscr;
writeln('Èñõîäíûé ìàññèâ:');
for i:=1 to n do
    write(mas[i],'  ');
//--------------------------------
for i:=2 to n-1 do
    begin
    psum:=0;
    psum:=(mas[i-1]+mas[i+1])/2;
    mas[i]:=psum;
    end;
//--------------------------------
writeln;
writeln('Ïîëó÷åííûé ìàññèâ:');
for i:=1 to n do
    write(mas[i],' ');
end.
1
2 / 2 / 0
Регистрация: 07.06.2011
Сообщений: 37
24.01.2012, 18:03  [ТС] 3
Я исправил программу. Теперь она работает нормально.
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
29
30
31
32
33
34
uses crt;
const
     n=5;
var
   mas:array[1..n] of real;
   psum:real;
   i:integer;
   a:array[1..n] of real;
begin
for i:=1 to n do
    begin
    write('Введите mas[',i,']: ');
    readln(mas[i]);
    end;
//--------------------------------
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
    write(mas[i],'  ');
//--------------------------------
for i:=2 to n-1 do
    begin
    psum:=0;
    psum:=(mas[i-1]+mas[i+1])/2;
    a[i]:=psum;
    end;
//--------------------------------
writeln;
writeln('Полученный массив:');
a[1]:=mas[1];
a[5]:=mas[5];
for i:=1 to n do
    write(a[i],' ');
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
24.01.2012, 18:26 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

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
29
30
31
32
33
34
35
uses crt;
const
     n=5;
var
   mas:array[1..n] of real;
   x,y,z:real;
   i:integer;
begin
for i:=1 to n do
    begin
    write('Введите mas[',i,']: ');
    readln(mas[i]);
    end;
//--------------------------------
clrscr;
writeln('Исходный массив:');
for i:=1 to n do
    write(mas[i],' ');
//--------------------------------
writeln;
x:=mas[1];
y:=mas[2];
for i:=2 to n-1 do
 begin
  z:=mas[i+1];
  mas[i]:=(x+z)/2;
  x:=y;
  y:=z;
 end;
//--------------------------------
writeln;
writeln('Полученный массив:');
for i:=1 to n do
    write(mas[i],' ');
end.
1
24.01.2012, 18:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.01.2012, 18:26
Помогаю со студенческими работами здесь

Заменить все элементы массива кроме крайних
Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, заменяет все элементы...

Замена всех элементов массива, кроме крайних на полусумму соседей
9.Напишите программу, которая вводит с клавиатуры непустой массив целых чисел, заменяет все...

Каждый элемент массива заменить на полусумму соседних элементов
Требуется написать функцию, обязательными аргументами которой являются длина N массива A и массив...

Каждый элемент заданного массива заменить на полусумму соседних элементов
Дано натуральное число N и массив из N действительных чисел. Не используя дополнительных массивов...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru