Дан двумерный массив Х из вещественных элементов размерностью 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
Статьи
Информатика
Статьи
Последние вопросы
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
задание экономиоти
Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких
Экономика.
Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности
Экономика.
Облако тегов