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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2016, 18:02   #1
Danil_322
Новичок
Джуниор
 
Регистрация: 22.12.2016
Сообщений: 4
По умолчанию В одномерном массиве все элементы этого массива умножить на среднее арифметическое наибольшего и наименьшего элементов этого массива

В заданном одномерном массиве все элементы этого массива умножить на среднее арифметическое наибольшего и наименьшего элементов этого массива. Начальный и преобразованный массивы напечатать с указанием, что печатается.
Danil_322 вне форума Ответить с цитированием
Старый 22.12.2016, 20:15   #2
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Код:
const
n=1000;
var
a:array[1..1000] of integer;
i,min,max:integer;
sr:real;
begin
min:=a[1];
max:=a[1];
for i:=1 to n do
begin
  if a[i]>max then max:=a[i];
  if a[i]<min then min:=a[i];
end;
sr:=(min+max)/2;
for i:=1 to n do Write(a[i]*sr,' ');
end.
dimon_snake вне форума Ответить с цитированием
Старый 22.12.2016, 20:44   #3
Danil_322
Новичок
Джуниор
 
Регистрация: 22.12.2016
Сообщений: 4
По умолчанию

А там вроде умножить надо,а в программе высвечиваются одни нули
Danil_322 вне форума Ответить с цитированием
Старый 22.12.2016, 20:54   #4
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

ну понятно, что нули. Добавь чтение одномерного массива, он же дается
Код:
for i:=1 to (здесь размер массива) do Read(a[i])
И, кстати
Ошибочка у меня там
Код:
sr:=(min+max) div 2;
Просто, если среднее арифметическое не целое число, тогда массив должен быть из вещественного типа
dimon_snake вне форума Ответить с цитированием
Старый 22.12.2016, 21:21   #5
Danil_322
Новичок
Джуниор
 
Регистрация: 22.12.2016
Сообщений: 4
По умолчанию

Я так и не вдуплил куда вставить этот код
Помоги,а
Danil_322 вне форума Ответить с цитированием
Старый 22.12.2016, 21:36   #6
dimon_snake
Форумчанин
 
Регистрация: 05.11.2015
Сообщений: 167
По умолчанию

Код:
const
n=1000;
var
a:array[1..1000] of integer;
i,min,max,sr:integer;
begin
for i:=1 to (размер массива - n) do Read(a[i]);
min:=a[1];
max:=a[1];
for i:=1 to n do
begin
  if a[i]>max then max:=a[i];
  if a[i]<min then min:=a[i];
end;
sr:=(min+max) div 2;
for i:=1 to n do Write(a[i]*sr,' ');
end.
dimon_snake вне форума Ответить с цитированием
Старый 24.12.2016, 17:55   #7
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,536
По умолчанию

А в условии ни разу не сказано, что массивы целочисленные ... Замени все переменные, кроме i, с integer на real, и все довольны. И в цикле 2 to n . На френа лишее сравнение. И лучше вместо
Код:
begin
  if a[i]>max then max:=a[i];
  if a[i]<min then min:=a[i];
end;
вот так :
Код:
  if a[i]>max then max:=a[i] else  if a[i]<min then min:=a[i];
----------------------------------
"Старайтесь делать хорошо. Плохо - само получится" © Конфуций. А может, Бендер О.И.

Последний раз редактировалось digitalis; 24.12.2016 в 18:05.
digitalis вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В массиве необходимо все отрицательные элементы умножить на квадрат его наименьшего элемента, а все неотрицательные элементы на кв dvpvitas Паскаль, Turbo Pascal, PascalABC.NET 3 18.06.2015 05:28
Все отрицательные элементы заменить на сумму, а положительные на полусумму предшествующих и последующих элементов этого массива. Progressko Помощь студентам 10 31.10.2013 07:17
. Среди всех нецелых элементов этого массива найти наименьший и определить его номер в массиве Паскалька^^ Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2008 14:18