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

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

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

2 страниц V  1 2 >  
 Ответить  Открыть новую тему 
> одномерный массив
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


как мне найти сумму элементов массива между минимальным и максимальным значением? !help.gif помогите пожалуйста, а то мне никак не сделать sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


Как найти номер минимального и максимального значения знаешь ? Если найдешь их дальше все не сложнее, в цикле от номера минимального значения до номера максимального суммируешь элементы и все !

Воспользуйся поиском по форуму, много задач решено на массивы, ну и + FAQ : Массивы, матрицы


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


номера элементов нашла, а суммировать не знаю как... mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

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

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



s := 0; // в начале обнуляем сумму

for i := nMin to nMax do // цикл от номера минимального элемента (nMin) до номера максимального (nMax)
s := s + x[i]; // суммируем



--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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




for i := nMin to nMax do
что то в этой строчке не так, пишет что ошибка....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Perl. Just code it!
******

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

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


Выложи полностью свой код, переношу тему в раздел "Задачи" ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


вот что я сделала, дальше не знаю как:

Код
Program cool;
uses crt;
Var
x: array [1..100] of real;
i,n :integer;
max, min,s,nmin, nmax:real;
begin
clrscr;
writeln('vvedite n');
readln(n);
writeln('vvedite znachenie n');
for i:=1 to n do
readln(x[i]);
max:=x[1];
nmax:=1;
for i:=1 to n do
if x[i]>max then
begin
max:=x[i];
nmax:=i
end;
min:=x[1];
nmin:=1;
for i:=1 to n do
if x[i]<min then
begin
min:=x[i];
nmin:=i;
end;
writeln('max=',max:4:4,' nmax=', nmax:4:4);
writeln('min=',min:4:4,' nmin=', nmin:4:4);
writeln('naidem summu znachenii mezhdu min i max' );
s:=0;

writeln(s);
readkey;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

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

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


Цитата(Ksusha @ 17.10.2006 20:29) *

max, min,s,nmin, nmax:real;

и как ты себе представляешь элемент массива с номером, допустим, 1.6? или 2.987?
из-за этого и ошибка.

ну и еще... не ошибки, но...
почему нельзя искать минимум и максимум одним циклом?
зачем счетчик устанавливать с 1, когда можно начинать с 2?

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


ой, ну да ошиблась mellow.gif вот така все равно не то считает sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

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

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


выкладывай исправленный код. я не ясновидящая!
то, что ты выложила, сумму считать не будет ВООБЩЕ.
Код
s:=0;
writeln(s);

даст тебе только выведение нуля.
как считать - тебе написали выше.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


s:=0;
for i:=nmin to nmax do
s:=s+x[i];
writeln(s);

считает сумму всех значений, а мне нужно исключая max и min...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


просто человек
******

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

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


Код

s:=0;
for i:=nmin+1 to nmax-1 do
s:=s+x[i];
writeln(s);

кстати, оно работает, только если минимум стоит до максимума.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


СПАСИБОЧКИ, большое rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


можно было все гораздо проще найти
Код
Program cool;
uses crt;
Var
x: array [1..100] of real;
i,n :integer;
max, min,s:real;
begin
clrscr;
writeln('vvedite n');
readln(n);
writeln('vvedite znachenie n');
for i:=1 to n do
readln(x[i]);
max:=x[1];
for i:=1 to n do
if  x[i]>max then
max:=x[i];
min:=x[1];
for i:=1 to n do
if  x[i]<min then
min:=x[i];
writeln('max=',max:4:4);
writeln('min=',min:4:4);
writeln('naidem summu znachenii mezhdu min i max' );
s:=0;
for i:=1 to n do
if x[i]<>min then
if x[i]<>max then
s:=s+x[i];
writeln(s:4:4);
readkey;
end.


и все работает yahoo!.gif

А могли бы мне помочь ещё с одной задачкой:
дана последовательность x=(x1,x2,..xn). Сдвинте её циклически на k элементов влево.
ВООООБЩЕ не знаю как делать!!!!!!!! mega_chok.gif

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


Гость






Цитата
и все работает
Уверена?

Введи 6 элементов:
2, 2, 5, 4, 2, 1

и посмотри, равен ли результат 6, как положено. А потом решай, ЧИТАТЬ ли внимательно все, что тебе пишут, или не надо...

P.S.
Следующее задание было решено - пользуйся поиском. Одна тема - один вопрос!
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


а почему вдруг должно равняться 6???
2+2+4+2=10!!!! так у меня и получается!



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


просто человек
******

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

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


Это еще что за бред?
Код

s:=0;
for i:=1 to n do
if x[i]<>min then
if x[i]<>max then
s:=s+x[i];

???
ради чего тогда искать положение минимального и максимального эл-тов???


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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


Цитата(мисс_граффити @ 17.10.2006 22:55) *


ради чего тогда искать положение минимального и максимального эл-тов???

ну так задача звучит "найдите сумму элементов расположенных между максимальным и минимальным элементами" поэтому их надо искать, что бы исключить из общей суммы!а если ты имеешь в виду, зачем искать их индекс, так можно и не искать!я это из программы и убрала... к тому же вроде бы все правильно получается....
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


просто человек
******

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

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


зашибись.
ты считаешь сумму всех элементов, кроме минимального и максимального, а не сумму элементов, расположенных между минимальным и максимальным.
разницы не видишь?

кстати, даже это ты делаешь странно.
введи последовательность 1,1,2,5,5.
У тебя сумма будет 2... А должна быть?

Сообщение отредактировано: мисс_граффити -


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #20


Новичок
*

Группа: Пользователи
Сообщений: 12
Пол: Женский
Реальное имя: Ксюша

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



ну может быть.... вот тока все равно, так что бы все нормально считалось не получается.... что бы не было разницы где стоит min или max значение..... sad.gif

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

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

 





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