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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2014, 20:26   #1
kartez25-17
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию Поправить программу.

Условие: Ввести массив целых чисел B(n). Найти сумму S положительных элементов. Если S>5,поменять местами значение минимального и максимального элементов. Массив распечатать.
Код:
program pr_3;
var a:array[1..100] of real;
min,max,imin,imax,S,:real;i,n:integer;
begin
Write ('n=');
readln (n);
for i:=1 to n do
readln(a[i]);
S:=0;
for i:=1 to n do
if a[i]>0 then S:=S+a[i];
max:=-999;
min:=999;
for i:=1 to n do
if a[i]<min then
min:=a[i];
imin:=i;
if a[i]>max then
max:=a[i];
imax:=i;
if S>5 then
a[imin]:=max;
a[imax]:=min;
for i:=1 to n do
writeln ('  ',a[i]);
end.

Последний раз редактировалось Stilet; 16.12.2014 в 20:46.
kartez25-17 вне форума Ответить с цитированием
Старый 16.12.2014, 20:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Упростим?:
Код:
program pr_3;
var a:array[1..100] of real;
min,max,imin,imax,S,:real;i,n:integer;
begin
Write ('n=');
readln (n);
S:=0; min:=1; max:=1;
for i:=1 to n do begin
 readln(a[i]);
 if a[i]>0 then S:=S+a[i];
 if a[i]>a[max] then max:=i;
 if a[i]<a[min] then min:=i;
end;
if S>5 then
 max:=a[max];
 a[max]:=a[min];
 a[min]:=max;

for i:=1 to n do
 writeln (a[i]:5);

readln;
end.
Устраивает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2014, 20:55   #3
kartez25-17
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию

if a[i]>a[max] then max:=i;
выдаёт ошибку "нельзя преобразовать тип real к integer"
в чём проблема?
kartez25-17 вне форума Ответить с цитированием
Старый 16.12.2014, 21:05   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты обьяви max как integer;
Ну и тогда при обмене другую переменку придумай.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 16.12.2014, 21:42   #5
kartez25-17
Новичок
Джуниор
 
Регистрация: 16.12.2014
Сообщений: 4
По умолчанию

Можешь пожалуйста это сделать, ато у меня что-то совсем не получается
kartez25-17 вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите поправить программу пожалуйста GrafVir Фриланс 4 05.06.2014 13:49
я написал помогите поправить программу с++ Оег Помощь студентам 0 14.04.2014 02:25
Поправить Код... Lucchese Общие вопросы C/C++ 1 25.01.2010 20:00
Поправить программу для загрузки файлов. Klychkov Свободное общение 11 14.10.2009 22:36
Помогите поправить программу! Массивы в С++ progser_ua Помощь студентам 1 03.02.2009 14:07