Помогите пожалуйста!!!
10-11 класс
|
{#4}
const
m = 10;
var
a: array[1..m, 1..m] of real;
b: array[1..m * m] of real;
i, j, n: integer;
x: real;
flag: boolean;
begin
Write('Укажите количество строк в массиве (максимум 10): ');
Readln(n);
Writeln('Вводите элементы массива построчно');
for i := 1 to n do
for j := 1 to n do
begin
Read(a[i, j]);
b[4 * (i - 1) + j] := a[i, j]
end;
{сортировка одномерного массива b}
for i := 2 to n*n do
begin
x := b[i];
j := i - 1;
flag := False;
while (j > 0) and (not flag) do
if x < b[j] then
begin
b[j + 1] := b[j];
j := j - 1
end
else flag := True;
b[j + 1] := x
end;
{запись результатов в двумерный массив построчно}
Writeln('Отсортированный массив');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := b[4 * (i - 1) + j];
Write(a[i, j]:8:2)
end;
Writeln
end
end.
Тестовое решение:
Укажите количество строк в массиве (максимум 10): 4
Вводите элементы массива построчно
-5 13.1 -8.3 14
7.45 0 -9.13 -18
3 7 0 12
-7 -12 -15 24
Отсортированный массив
-18.00 -15.00 -12.00 -9.13
-8.30 -7.00 -5.00 0.00
0.00 3.00 7.00 7.45
12.00 13.10 14.00 24.00
*******************************************************
{#5}
const
m = 10;
var
x, y: array[1..m, 1..m] of integer;
ib, jb: array[1..m] of boolean;
i, j, n, i1, j1: integer;
begin
Randomize;
Write('Введите число строк в массиве (максимум 10): ');
Readln(n);
for i := 1 to n do
begin
ib[i] := true;
jb[i] := true;
end;
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to n do
begin
x[i, j] := Random(200) - 10;
write(x[i, j]:5);
if x[i, j] < 0 then
begin
ib[i] := false;
jb[j] := false
end
end;
Writeln
end;
i1 := 0;
Writeln('Результирующая матрица');
for i := 1 to n do
if ib[i] then
begin
j1 := 0;
i1 := i1 + 1;
for j := 1 to n do
if jb[j] then
begin
j1 := j1 + 1;
y[i1, j1] := x[i, j];
Write(y[i1, j1]:5)
end;
Writeln
end
end.
Тестовое решение:
Введите число строк в массиве (максимум 10): 10
Исходная матрица
145 50 52 77 78 -5 154 117 119 149
76 134 43 57 181 75 92 94 6 60
96 112 139 51 175 11 112 18 33 159
136 104 138 105 71 118 129 76 147 152
129 135 113 125 60 130 3 125 37 167
51 35 166 60 154 23 101 -10 91 56
73 126 73 149 2 161 186 128 176 53
136 6 136 44 121 151 188 3 181 34
-2 176 171 56 98 90 128 68 140 38
6 128 174 80 68 -7 51 154 112 88
Результирующая матрица
134 43 57 181 92 6 60
112 139 51 175 112 33 159
104 138 105 71 129 147 152
135 113 125 60 3 37 167
126 73 149 2 186 176 53
6 136 44 121 188 181 34
***********************************************************
{#7}
const
n = 8;
var
x: array[1..n, 1..n] of integer;
c: array[1..n] of real;
i, j, k: integer;
begin
Randomize;
Write('Введите коэффициент k: ');
Readln(k);
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to n do
begin
x[i, j] := Random(100) - 50;
write(x[i, j]:4)
end;
Writeln
end;
Writeln('Вектор результата');
for i := 1 to n do
begin
c[i] := x[i, i] * k;
Write(c[i]:6)
end;
Writeln
end.
Тестовое решение:
Введите коэффициент k: 3
Исходная матрица
21 28 -17 -10 -14 -6 24 -30
0 25 31 13 44 -19 10 5
18 10 11 -32 -14 -8 -14 -23
-48 8 -35 11 -9 -15 27 -44
-2 47 39 -3 -19 14 -28 -34
-32 13 14 17 -33 48 13 -10
7 -19 35 -44 -24 9 14 -21
-9 -45 -13 28 -22 -38 29 -35
Вектор результата
63 75 33 33 -57 144 42 -105
как раз то, что вы говорите и нужно) если сможете решить задачу
буду очень благодарен!
У меня нет Турбо Паскаля. Напишу в Паскаль.ABC, приделаете сверху заголовок и uses Crt
А по заданию 4 как понимать "отсортировать во возрастанию элементы всей матрицы"? Выписать их в строку, отсортировать, а потом как назад загнать - по строкам или по столбцам?
Ответа нет - сделаю по строкам.
Другие вопросы из категории
из числа взять корень степени,равной второй цифре числа.
Помогите,пожалуйста,написать программу в паскале ABC
кодируются одним и тем же минимально возможным количеством бит. Было передано закодированное сообщение, состоящее из 240 символов. Определите информационный объем пе-реданного сообщения.
Каким из приведенных ниже выражений может быть F?
Написал программу:
var
f1,f2:text;
d,s,z,n:longword;
a,b,t,m,x:smallint;
begin
assign(f1,'input.txt');
reset(f1);
assign(f2,'output.txt');
rewrite(f2);
readln(f1,d,a,b,s,t);
if a>b then x:=a-b else x:=b-a;
if d mod s=0 then n:=d div s else n:=d div s+1;
if x mod t=0 then m:=x div t else m:=x div t+1;
z:=n+m;
write(f2,z);
close(f1);
close(f2);
end.
Выдает ошибку: Ошибка времени выполнения: Входная строка имела неверный формат.
Где выдает ошибку: readln(f1,d,a,b,s,t);
ПОМОГИТЕ пожалуйста!!!
Читайте также
Требуется написать Блокнот на делфи.
Написал всё, кроме кнопки "Сохранить" не пойму как сделать так, что бы при нажатии она работала как и в блакноте обычном.
Помогите пожалуйста :)
.................................................................................................................................
Возьмите прайс лист любого компьютерного магазина или скачайте в интернете;
Составьте конфигурацию компьютера для специалиста вашей профессии;
Подберите программное обеспечение, поясните, для каких целей будут служить данные программы;
Посчитайте общую стоимость данной конфигурации по прайс листу
....................................................................................................................................
Учусь я на бухгалтера-экономиста.
Давайте думать вместе) Допустим, "специалист вашей профессии" - это бухгалтер. Я беру прайс лист (т.е. лист, где написаны наименования и цены всех товаров). Что такое конфигурация? Как её составить по этому прайс листу, если там и так всего цена и наименования известны...?)))) ПО подобрать, допустим, это будет ;MS Office Excel; для создания таблиц, а для данной задачи для подсчёта общей стоимости конфигурации; и ;MS Office World; для писания отчётов. Что же такое эти "конфигурации"?)))
Помогите, пожалуйста) не пропускайте вопрос)
Нужно выдать число, которое отличается от других равных, при этом, используя ровно две операции сравнения. Я пытался решить эту задачу и через максимум-минимум, и через условия, но везде натыкался на грабли. Помогите, пожалуйста, разобраться. Заранее благодарю! Перед выставлением решения, рассмотрите следующие варианты: "2 4 4 4", "2 3 2 2 ", "-3 -3 -2 -3", "-4 -4 -4 -5".
"Подсчитайте кол-во операций в приведенном алгоритме (Ответ приведите в виде функции от параметра n)." Подсчитать кол-во операций самому - это возможно, а как привести ответ в виде функции от параметра n - я не знаю. Помогите, пожалуйста, понять это задание. Заранее благодарен!
Пожалуйста...Срочно...Завтра крайний срок сдачи...Помогите...
Дан массив строк без пробелов. Напечатать строки, вторая половина которых не содержит цифры.