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

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

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

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


Новичок
*

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

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


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


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

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

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


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

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


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


Новичок
*

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

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


номера элементов нашла, а суммировать не знаю как... mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 17.10.2006 18:50
Сообщение #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 
 К началу страницы 
+ Ответить 
Ksusha
сообщение 17.10.2006 18:55
Сообщение #5


Новичок
*

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

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




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


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

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

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


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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ksusha
сообщение 17.10.2006 19:29
Сообщение #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 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 17.10.2006 19:34
Сообщение #8


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

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

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


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

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

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

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

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


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


Новичок
*

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

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


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


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

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

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


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

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


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


Новичок
*

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

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


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

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


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

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

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


Код

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

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


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


Новичок
*

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

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


СПАСИБОЧКИ, большое rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ksusha
сообщение 17.10.2006 21:16
Сообщение #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 - 17.10.2006 21:21
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.10.2006 21:18
Сообщение #15


Гость






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

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

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

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


Новичок
*

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

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


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



Сообщение отредактировано: Ksusha - 17.10.2006 21:38
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 17.10.2006 21:55
Сообщение #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 
 К началу страницы 
+ Ответить 
Ksusha
сообщение 17.10.2006 22:02
Сообщение #18


Новичок
*

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

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


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


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

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


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

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

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


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

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

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


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


Новичок
*

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

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



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

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

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

 



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