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

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

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

> Одномерный массив, ...
S-Vanek007
сообщение 10.11.2008 10:33
Сообщение #1





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

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


Задан одномерный массив A(N) (N<=60). Посчитать сумму элементов находящихся между максимальным и минимальным элементами. Результат вывести на печать.
Program lll;
var
a:array [1..60] of integer;
n,i,max,min,s:real;
begin
for i:=1 to 60 do
begin
write ('N=',i,':');
readln (a[i]);
end;
max:=1;
min:=1;
for i:=1 to 60 do
begin
if a [max]<a[i] then max:=i;
if a [min]>a[i] then min:=i;
end;
if min>max then
begin
i:=max;
max:=min;
min:=i;
end;
for i:=min to max do
S:=????????????????
writeln ('S=", s);
readln;
end.

Подскажите пожалуйста на месте ???? что надо написать, и скажите где ещё ошибки (если они есть). Заранее спасибо!

М
Просьба использовать теги при публикации кода! Исправлено.
Lapp

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


Бывалый
***

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

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


 
Program Lob_3;
Var
A:array [1..60] of integer;
i,max,min,s,n, imin, imax:integer;
BEGIN
write ('Введите число N=');
readln (A[i]); { <- просишь ввести число N - а вводишь что????}
for i:=1 to 5 do {<- тут цикл, видимо должен быть не до 5 а как раз до неведённого тобою N}
writeln (A[i]); {<- тут выводишь, ещё невведенные элементы массива на экран - ненадо так делать smile.gif}
{Не ввел элементы массива, а начинаешь среди них искать максимальный и минимальный - нехорошо.}
max:=A[1];
imax:=1;
for i:=1 to 5 do {<- тут цикл, видимо должен быть не до 5 а как раз до неведённого тобою N}
begin
if A[i]>max then
max:=A[i];
imax:=i {<- таким образом ты никогда не найдешь НОМЕР максимального элемента....надо после IF использовать begin...end}
end;
min:=A[i]; {<- почему индекс i? а не единица????}
imin:=1;
for i:=1 to 5 do {<- опять цикл до пяти, а не до N}
begin
if A[i]<min then
min:=A[i];
imin:=i; {<- писАл уже, скобки расставь операторные}
end;
for i:=imin to imax do
begin
if ?????????? then {<- а зачем тут это воообще???}
S:=S+A[i]
end;
writeln ('S=', s);
END.



форматируй текст программы - так многие ошибки гораздо легче заметить, нежели в сплошном тексте. вот smile.gif

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

Сообщений в этой теме


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

 



- Текстовая версия 20.07.2025 18:58
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"