Одномерный массив |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Одномерный массив |
Kelsi |
Сообщение
#1
|
Гость |
У меня тут одна задачка... не поможете ли решить?
Дано целое n<=100 и вещественный вектор a из n элементов. Вычислить величину z=сумма(от i=1 до r)xiyi, где элементами вектора x(x1,x2,...,xp) являются отрицательные элементы вектора а, взятые в порядке их следования, элементами вектора y(y1,y2,...,yq) являются неотрицательные элементы вектора а, взятые в порядке их следования, а r=min(p,q). |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
И что тут сложного ?? может уже что-то сама сделала ? покажи, если что не так, исправим.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Kelsi |
Сообщение
#3
|
Гость |
Если б я в этом, что понимала... У меня Паскаля отродясь не было . Выдали методичку с задачами-решай как хочешь. И вообще, я никого ничего делать не заставляю. Хочешь-помоги, не хочешь-дело твое. Я без обид. ;)
|
volvo |
Сообщение
#4
|
Гость |
Ну, вот что пришло в голову:
Код const { Это только для примера, чтобы убедиться, что программа работает } n = 10; a: array[1 .. n] of real = (1, 2, -4, 5, -6, 9, -11, 8, 11, 10); var i, i_neg, i_non_neg: integer; z: real; begin z := 0; { это можно раскомментировать и сюда будут записаны случ. значения } { for i := 1 to n do a[i] := random(200) - 100; } i_neg := 1; i_non_neg := 1; repeat while (a[i_neg] >= 0) and (i_neg <= n) do inc(i_neg); if i_neg <= n then begin while (a[i_non_neg] < 0) and (i_non_neg <= n) do inc(i_non_neg); if i_non_neg <= n then begin z := z + a[i_neg]*a[i_non_neg]; inc(i_neg); inc(i_non_neg); end; end; if (i_neg > n) or (i_non_neg > n) then break; until false; writeln('z = ', z:0:0); end. |
Kelsi |
Сообщение
#5
|
Гость |
Volvo,ты просто супер-пупер!Сспасибо, что взялся помочь! :rev:
Но не мог бы мне объяснить, что такое inc и для чего он нужен (в смысле какие ф-ии выполняет)? i_neg, i_non_neg - это у тебя x,y? A[i]=random(200)-100 ? break, по ходу дела прирывает цикл? Мне действительно хочется это все понять... Нет смысла списывать чужие решения - это мозгов не прибавит! Объясни если не сложно... |
volvo |
Сообщение
#6
|
Гость |
По порядку:
Цитата(Kelsi @ 12.04.05 19:48) что такое inc и для чего он нужен (в смысле какие ф-ии выполняет)? inc(x) это то же самое, что и x := x + 1;Цитата(Kelsi @ 12.04.05 19:48) i_neg, i_non_neg - это у тебя x,y? Не совсем это текущий индекс соответственно отрицательного и неотрицательного числа в массиве. Когда нужно найти следующее отрицательное число, начинаем просматривать массив с индекса i_neg, а для поиска НЕотрицательного - с индекса i_non_neg...Цитата(Kelsi @ 12.04.05 19:48) A[i]=random(200)-100 ? Это - генерация случайных чисел в интервале от -100 до 100Цитата(Kelsi @ 12.04.05 19:48) break, по ходу дела прирывает цикл? :yes: |
Kelsi |
Сообщение
#7
|
Гость |
Для отрицательных чисел в массиве нужно всегда использовать такую загогулину-random? ;)
P.S. от куда ты такой умный взялся ? Прям чувствую себя просто дурой набитой... |
volvo |
Сообщение
#8
|
Гость |
Цитата(Kelsi @ 12.04.05 20:22) P.S. от куда ты такой умный взялся ? Это как понимать? Вот и помогай после этого людям...Цитата Для отрицательных чисел в массиве нужно всегда использовать такую загогулину-random? Об этом Вы сможете прочитать в любой книжке по Паскалю.Закрыто |
Текстовая версия | 14.05.2024 21:54 |