Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 15:45   #1
KseniyaSila
Новичок
Джуниор
 
Регистрация: 29.03.2012
Сообщений: 2
По умолчанию массив

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
1. Используя программу ранжирования, найти произведение 2-х наибольших и 2-х наименьших элементов массива.
2. Найти среднее арифметическое элементов с четными номерами массива.
3. Преобразовать массив таким образом, чтобы сначала располагались все элементы, отличающиеся от максимального не более чем на 10 %, а потом — все остальные.
KseniyaSila вне форума Ответить с цитированием
Старый 29.03.2012, 17:42   #2
nameless2152
Пользователь
 
Регистрация: 27.03.2012
Сообщений: 10
По умолчанию

2
Код:
m := 0;
for i := 1 to n do
begin
    if i mod 2 = 0 then
        m := m + A[i];
end;
sred := m/(i div 2);
nameless2152 вне форума Ответить с цитированием
Старый 29.03.2012, 17:53   #3
nameless2152
Пользователь
 
Регистрация: 27.03.2012
Сообщений: 10
По умолчанию

3
Код:
max := -1000;
for i := 1 to n do
begin
    if A[i]>max then max := A[i];
end;
k := 1;
for i := 1 to n do begin
    if A[i] >= max*0.9 and A[i] <= max* 1.1  and i<>k then
    begin
        c := A[k];
        A[k] := A[i];
        A[i] := c;
        k := k+1;
    end;
end;
Вроде так, но пишу без компилятара с планшета и в паскале давно не работал, мог подзабыть синтаксис.

Последний раз редактировалось nameless2152; 29.03.2012 в 18:16.
nameless2152 вне форума Ответить с цитированием
Старый 29.03.2012, 18:13   #4
nameless2152
Пользователь
 
Регистрация: 27.03.2012
Сообщений: 10
По умолчанию

3
Код:
t := 1;
while t = 1 do begin
    t := 0;
    for i := 1 to n-1 do
        if A[i] > A[i+1] do begin
            c := A[i];
            A[i] := A[i+1];
            A[i+1] := c;
            t := 1;
        end;
end;
multmax = A[n-1]*A[n];
multmin = A[1]*A[2];
Вот, если я правильно понял, что ранжирование это сортировка. Использован пузырьковый алгоритм
nameless2152 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02