Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
som
Дана задача:
Массивы
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
•Сумму положительных элементов массива.
•Произведение элементов массива, расположенных между максимальным по модулю и минимальным по модулю элементами.
Упорядочить элементы массива по убыванию.

Я наёшл сумму, min и max. А вот дальше не пойму как. Помогите пожалуйста smile.gif

Код

program massiv;
var
a:array[1..10] of integer;
z,s,i,y,n,min,max,nommin,nommax:integer;
begin
for i:=1 to 10 do
readln(a[i]);
s:=0;
for i:=1 to 10 do
  if a[i]>0 then s:=s+a[i];

writeln(s);
readln;
max:=a[1];
nommax:=1;
for i:=1 to 10 do
  if max<a[i] then
    begin
     max:=a[i];
     nommax:=i;
    end;
writeln('max=',max);
readln;

min:=a[i];
nommin:=1;
for i:=1 to 10 do
   if min>a[i] then
    begin
     min:=a[i];
     nommin:=i;
    end;
writeln('min=',min);
readln;
end.
volvo
p := 1;
if nommin < nommax then
for i := nommin + 1 to nommax - 1 do p := p * a[i]
else
for i := nommax + 1 to nommin - 1 do p := p * a[i];


Про сортировку - смотри в "FAQ: Алгоритмы сортировки"...
som
спасибо
Айка
Цитата(som @ 18.05.2006 16:22) *

спасибо

У меня не работает почему то может я не так ввожу помогите плиз очень надо
-dron4ik-
Помогите пожалуйста решить задачку на Турбо Паскале. В массиве из 40-а элементов упорядочить 1-ые 20 элементов по убыванию, 2-ые 20-по возрастанию. Тут нужно использовать random ze.
Client
Массив из натуральных (раз ты сказал randomize) или вещественных чисел??
volvo
Цитата
из натуральных (раз ты сказал randomize)

При чем тут "натуральные числа" и randomize? Одно другого совершенно не исключает... Random может возвращать и целое и вещественное число, независимо от того, инициализировал ты генератор или нет...
Client
Цитата
Одно другого совершенно не исключает
Верно, поэтому я и спросил
Вот процедура из FAQ'а
Procedure Insert(Var ar: arrType; n: Integer);
Var i, j, T: Integer;
Begin
For i := 1 To n Do Begin
T := ar[i];
j := Pred(i);
While (T < ar[j]) and (j > 0) Do Begin
ar[Succ(j)] := ar[j]; Dec(j);
End;
ar[Succ(j)] := T;
End;
End;
Для первых 20-ти знак ">"

Цитата
инициализировал ты генератор или нет...
Можешь пояснить?
volvo
Что именно пояснить? Как инициализировать генератор случайных чисел? Вообще-то это я должен попросить у тебя пояснить, ЗАЧЕМ спрашивать, какого типа элементы массива с припиской
Цитата
раз ты сказал randomize
? Как именно наличие randomize по-твоему ограничивает использование целого или вещественного типа?
Client
random(x) - вернет случ натуральное значение от 0 до х-1
random() - вернет вещ число от 0 до 1
Если ты про это, то вопрос закрыт
volvo
Цитата
Если ты про это, то вопрос закрыт
А ты его открывал, чтоб закрывать? mad.gif
Или ты думаешь, что тут до твоего пришествия никто не знал о том, что ты написал??? Вынужден тебя разочаровать - знали, как ни странно это звучит...

Я не про это, а про то, что в следующий раз, если тебя, конечно не затруднит, составляй предложения так, чтобы их можно было понимать однозначно... Первый вывод, который следует из твоего предложения - это то, что если используется Randomize, то вещественными числа быть не могут (или по крайней мере для этого есть какие-то серьезные препятствия)... А вот если переформулировать выражение, тогда, возможно, тебе и удастся сказать то, что ты хотел сказать...
-dron4ik-
Препод сказал так использовать
-dron4ik-
Парни ну как с задачкой??? Что мне написать то? Опишите пожалуйста полный код данной задачки.
-dron4ik-
В матрице 3на4 заменить все четные строки на 1-ы. Если не трудно напишите.



Вы тока не удевляйтесь у нас препод сам не знает ни фига.



Больше спроса чем товара!
-dron4ik-
Compilier ПОМОГИ ПОЖАЛУЙСТА
compiler
Цитата(-dron4ik- @ 1.01.2008 15:56) *
Compilier ПОМОГИ ПОЖАЛУЙСТА
o_O
ты чего?

по задаче
1) имеется ввиду заменить все элементы на единицу?
2) тип элементов матрицы?
3) 3 на 4 - это как? три строки, четыре столбца? или наоборот?
Гость
3 строки 4 столбца
Гость
все четные строки надо заполнить 1- рками
compiler
Цитата(Гость @ 1.01.2008 16:21) *
3 строки 4 столбца
тобишь изменить надо только вторую строку?
Цитата(Гость @ 1.01.2008 16:21) *
1- рками
кем?
Гость
написано у меня так в тетраде




В матрице 3X4 заменить все четные строки (заполнить их однерками)
compiler
можна написать так...
var 
a:array[1..3, 1..4] of integer;
i, j:integer;
begin
for i:=low(a) to high(a) do
for j:=low(a[low(a)]) to high(a[low(a)]) do
readln(a[i, j]);


i:=low(a)+1;
while (i<high(a)) do begin
for j:=low(a[low(a)]) to high(a[low(a)]) do
a[i, j]:=1;
i:=i+2;
end;

for i:=low(a) to high(a) do begin
for j:=low(a[low(a)]) to high(a[low(a)]) do
write(a[i, j]:3);
writeln;
end;
end.

а можна так...
var
a:array[1..3, 1..4] of integer;
i, j:integer;
begin
for i:=1 to 3 do
for j:=1 to 4 do
readln(a[i, j]);
for i:=1 to 4 do
a[2,i]:=1;
for i:=1 to 3 do begin
for j:=1 to 4 do
write(a[i, j]:3);
writeln;
end;
end.

зы будут вопросы -- задавай...
зы2 сначало разберись со вторым вариантом...
Гость
Ништяк compilier.! Так как ты надо побольше!
Гость
А вот следующее задание




В ТЕСКТЕ ЗАМЕНИТЬ Р НА СОЧЕТАНИЕ Р1. Что за задача не пойму никак....
Гость
Compilier ты тут?
Гость
кто сможет решить задачу?


В массиве из 40-элементов упорядочить
1-ые 20 элементов по возрастанию
2-ые 20 элементов по убыванию

Массив одномерный.

Нужно тут использовать random(n).
compiler
Цитата(Гость @ 1.01.2008 17:13) *
Compilier ты тут?
у меня в профиле есть для этого статус

зы одна задача -- одна тема! в этой теме я отвечать по другой задаче не буду... открывай новую тему..

>>Ништяк compilier.! Так как ты надо побольше!
форум этого не выдержет:)


Гость
Я создал тему АФ КГТУ назся
мисс_граффити
Не, ну я понимаю, что Новый год. Выпитое не проходит бесследно...
Но правила есть правила.
Нечего разводить в чужой старой теме свалку из задач.
Закрыто.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.