Дан двумерный массив Х из вещественных элементов размерностью n 1. В
Дан двумерный массив Х из вещественных элементов размерностью n
1. В одномерный массив переписать отрицательные элементы двумерного массива,расположенные ниже основной диагонали
2. Перенести в начало одномерного массива 1-ый элемент,значение которого больше разности наибольшего и малого частей.
Для отладки программки элементы массива сформировать с поддержкою генератора случайных чисел
Женек Каверзин
Именно. К образцу, от ГСЧ наполняем массив Х в промежутке [-50;50], тогда в одномерный Y попадут данные из промежутка [-50;0) и разность будет порядка +50. Далее-то что?
Вася Конюшко
Разве что искать элемент, по модулю больший разности...
Таисия Флипкова
почему 0? там ведь только отрицательные элементы -50;-1а если по модулю брать? 2-50=48 и если повезет и будет 49, то задание выполнено :D
Степа
Я указал интервал [..), а не [..], сам 0 туда не заходит, а -0.000001 - пожалуйста
Алексей
Я и говорю, по модулю если брать сами элементы, то выйдет
Анастасия Рипчанская
ааа...сейчас понятно
Максим Пекличев
Делаем?
Ветошко
Ксения
да
Виталя Малкин
спасибо громадное)
Артём
Если надобно, подправьте const и и пределы Random
1 ответ
Леонид Митрюков
uses Crt;
Для древних сред Паскаль, работающих в DOS-режиме, снять комменты
в операторах uses, ClrScr, ReadKey
const
n = 9;
var
x: array[1..n, 1..n] of real;
y: array[1..n*(n-1) div 2] of real;
i, j, k: integer;
max, min, d: real;
begin
Randomize;
ClrScr;
Writeln('Начальный массив');
for i := 1 to n do
begin
for j := 1 to n do
begin
x[i, j] := 100*Random - 50;
Write(x[i, j]:4:0)
end;
Writeln
end;
задание 1
k:=0;
for i:=2 to n do
for j:=1 to i-1 do
if x[i,j]lt;0 then begin Inc(k); y[k]:=x[i,j] end;
Writeln('Сформированный одномерный массив');
for i:=1 to k do Write(y[i]:4:0);
Writeln;
задание 2
max:=y[1]; min:=max;
for i:=2 to k do
if y[i]gt;max then max:=y[i]
else
if y[i]lt;min then min:=y[i];
d:=max-min;
i:=1;
while (абс(y[i])lt;=d) and (ilt;=k) do Inc(i);
if ilt;=k then
begin d:=y[1]; y[1]:=y[i]; y[i]:=d end;
Writeln('Результирующий одномерный массив');
for i:=1 to k do Write(y[i]:4:0);
Writeln;
ReadKey
end.
Тестовое решение:
Начальный массив
37 -45 -17 -26 -6 -22 -1 -33 -3
-27 33 -15 -14 33 37 28 -12 -36
1 14 48 -2 -43 -1 17 34 -7
-11 45 -5 -16 32 -8 32 -1 -40
18 43 -13 -28 30 45 44 -38 -28
38 0 10 48 28 -43 -12 -29 -44
2 -11 48 33 7 10 35 -40 -28
-48 39 -49 42 5 -16 26 -40 -5
27 -21 34 -46 4 45 -22 29 -16
Сформированный одномерный массив
-27 -11 -5 -13 -28 0 -11 -48 -49 -16 -21 -46 -22
Результирующий одномерный массив
-49 -11 -5 -13 -28 0 -11 -48 -27 -16 -21 -46 -22
Для древних сред Паскаль, работающих в DOS-режиме, снять комменты
в операторах uses, ClrScr, ReadKey
const
n = 9;
var
x: array[1..n, 1..n] of real;
y: array[1..n*(n-1) div 2] of real;
i, j, k: integer;
max, min, d: real;
begin
Randomize;
ClrScr;
Writeln('Начальный массив');
for i := 1 to n do
begin
for j := 1 to n do
begin
x[i, j] := 100*Random - 50;
Write(x[i, j]:4:0)
end;
Writeln
end;
задание 1
k:=0;
for i:=2 to n do
for j:=1 to i-1 do
if x[i,j]lt;0 then begin Inc(k); y[k]:=x[i,j] end;
Writeln('Сформированный одномерный массив');
for i:=1 to k do Write(y[i]:4:0);
Writeln;
задание 2
max:=y[1]; min:=max;
for i:=2 to k do
if y[i]gt;max then max:=y[i]
else
if y[i]lt;min then min:=y[i];
d:=max-min;
i:=1;
while (абс(y[i])lt;=d) and (ilt;=k) do Inc(i);
if ilt;=k then
begin d:=y[1]; y[1]:=y[i]; y[i]:=d end;
Writeln('Результирующий одномерный массив');
for i:=1 to k do Write(y[i]:4:0);
Writeln;
ReadKey
end.
Тестовое решение:
Начальный массив
37 -45 -17 -26 -6 -22 -1 -33 -3
-27 33 -15 -14 33 37 28 -12 -36
1 14 48 -2 -43 -1 17 34 -7
-11 45 -5 -16 32 -8 32 -1 -40
18 43 -13 -28 30 45 44 -38 -28
38 0 10 48 28 -43 -12 -29 -44
2 -11 48 33 7 10 35 -40 -28
-48 39 -49 42 5 -16 26 -40 -5
27 -21 34 -46 4 45 -22 29 -16
Сформированный одномерный массив
-27 -11 -5 -13 -28 0 -11 -48 -49 -16 -21 -46 -22
Результирующий одномерный массив
-49 -11 -5 -13 -28 0 -11 -48 -27 -16 -21 -46 -22
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов