IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> сумма и кол-во отрицательных элементов
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской

Репутация: -  0  +


Помогите пожайлуста доделать программу.В одномерном массиве, из N вещественных элементов,(n<=50) вычислить сумму и количество отрицательных элементов массива, расположенных между максимальным и минимальным элементами.
Program one;
type
m=array[1..50] of integer;
var
a:m;
i,n:integer;
min,max,mini,maxi:integer;
procedure printArray(var a:m);
var
i:integer;
begin
write('n=');
readln(n);
for i:=1 to n do
a[i]:=random(100)-50
end;
procedure outarray(var a:m);
var
i:integer;
begin
for i:=1 to n do
write('',a[i]:4);
end;
procedure minandmax(var a:m);
var
i:integer;
begin
max:=a[1];
min:=a[1];
for i:= 1 to n do
if a[i]>max then
begin max:=a[i]; maxi:=i;
for i:=1 to n do
if a[i]<min then
begin min:=a[i]; mini:=i;
writeln;
writeln('maxi=',maxi);
writeln('mini=',mini);
end;
end;
end;
procedure sumandkol(var a:m);
var
i,n,s:integer;
begin
writeln('maxi=',maxi);
writeln('mini=',mini);
s:=0;
n:=0;
while a[i]<0 do
begin
if ((a[i]>mini) and (a[i]<maxi)) then
s:=s+a[i];
end;
writeln('summs=',s);
n:=abs(max-min);
writeln('kol-vo',n);
end;
BEGIN
randomize;
printarray(a);
outarray(a);
minandmax(a);
sumandkol(a);
readln;
end.


Сообщение отредактировано: volvo -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  20  +


Цитата
Сорри, что вмешиваюсь, а если imax будет БОЛЬШЕ imin - то цикл For не будет просто пропущен? Надо еще ко всему написанному поменять imin и imax местами так, чтобы imin было гарантированно НЕ МЕНЬШЕ чем imax...
Я только рад smile.gif
А всего-то надо чуть изменить
procedure sumandkol(var a:m);
var
i,n,s,k:integer;
begin
s:=0;
n:=0;
if imin<imax then begin
k:=imax;
imax:=imin;
imin:=k
end;
for i:= imax+1 to imin-1 do begin
s:=s+a[i];
inc(n)
end;

writeln('summs=',s);
writeln('kol-vo',n);
end;
Про что, собственно, забыл уточнить

Сообщение отредактировано: Client -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
snopy   сумма и кол-во отрицательных элементов   21.01.2008 23:27
Yevgeny   Сразу бросается в глаза, что массив твой не из вещ…   21.01.2008 23:55
snopy   а что ещё исправить?   21.01.2008 23:59
Yevgeny   не присвайвай минимальному и максимальному первый …   22.01.2008 0:01
snopy   почему ведь должно проходится с первого   22.01.2008 0:03
Client   Тебе не нужны значения мах и min, а нужны их номер…   22.01.2008 0:10
snopy   всё равно где то ошибка   22.01.2008 0:18
Yevgeny   видимо не все, если я не оибаюсь... :)   22.01.2008 0:22
Client   :blum: И сколько между ними отрицательных элементо…   22.01.2008 0:23
snopy   а если другой набор встречается то неправильно счи…   22.01.2008 0:28
Yevgeny   сорри :)   22.01.2008 0:29
Client   Не работает то, не работает сё... Ты покажи на как…   22.01.2008 0:32
Yevgeny   введи например, -10,-5...,20,1,2,3 и их ноль всё р…   22.01.2008 0:32
volvo   Сорри, что вмешиваюсь, а если imax будет БОЛЬШЕ im…   22.01.2008 0:37
Yevgeny   а вот и нет :blink: это я на счёт своего сообщени…   22.01.2008 0:40
Client   Я только рад :) А всего-то надо чуть изменить pro…   22.01.2008 0:41
snopy   всем большое спасибо   22.01.2008 0:44


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 20:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name