Предмет: Информатика,
автор: robiertmusin
разработать программу на языке паскаль: 1) из массивов вещественных чисел А и В сформировать массив С, записав в него элементы массивов А и В, которые не содержат "семерок" в восьмеричном представлении 2) в матрице целых чисел А (n.n) упорядочить те строки , в которых диагональные элементы не содержат семерок. ПОМОГИТЕ РЕШИТЬ ЛИБО 1 ЛИБО 2 ЗАДАЧУ
Ответы
Автор ответа:
0
Вторая задача, Паскаль АВС
Program Robiertmusin;
uses crt;
const n = 15;
type
MyArray = array [1..n,1..n] of integer;
procedure ArrayOutput(A: MyArray);
var i,j: integer;
begin
for i := 1 to n do
begin
for j:= 1 to n do
write(A[i,j]:4, ' ');
writeln;
end;
writeln;
end;
procedure RowSort(var A: MyArray; Nom: integer);
var i, j, temp: integer;
begin
for i := 1 to n-1 do
for j := i+1 to n do
if A[nom,i]>A[nom,j] then begin
temp:=A[nom,i];
A[nom,i]:=A[nom,j];
A[nom,j]:=temp;
end;
writeln(nom,'-я строка упорядочена');
end;
var
mass:MyArray;
i,j:integer;
begin
writeln('В матрице целых чисел А (n*n) программа упорядочивает те строки,'); writeln('в которых диагональные элементы не содержат семерок');
{Создаём начальный массив и выводим его}
randomize;
for i := 1 to n do
for j:= 1 to n do
mass[i,j]:=random(20);
ArrayOutput(mass);
{Просматриваем строки}
for i := 1 to n do
begin
if (mass[i,i]<>7) and (mass[n-i+1,n-i+1]<>7) then RowSort(mass, i);
end;
{Выводим итоговый массив}
writeln('Упорядоченный массив: ');
ArrayOutput(mass);
end.
Program Robiertmusin;
uses crt;
const n = 15;
type
MyArray = array [1..n,1..n] of integer;
procedure ArrayOutput(A: MyArray);
var i,j: integer;
begin
for i := 1 to n do
begin
for j:= 1 to n do
write(A[i,j]:4, ' ');
writeln;
end;
writeln;
end;
procedure RowSort(var A: MyArray; Nom: integer);
var i, j, temp: integer;
begin
for i := 1 to n-1 do
for j := i+1 to n do
if A[nom,i]>A[nom,j] then begin
temp:=A[nom,i];
A[nom,i]:=A[nom,j];
A[nom,j]:=temp;
end;
writeln(nom,'-я строка упорядочена');
end;
var
mass:MyArray;
i,j:integer;
begin
writeln('В матрице целых чисел А (n*n) программа упорядочивает те строки,'); writeln('в которых диагональные элементы не содержат семерок');
{Создаём начальный массив и выводим его}
randomize;
for i := 1 to n do
for j:= 1 to n do
mass[i,j]:=random(20);
ArrayOutput(mass);
{Просматриваем строки}
for i := 1 to n do
begin
if (mass[i,i]<>7) and (mass[n-i+1,n-i+1]<>7) then RowSort(mass, i);
end;
{Выводим итоговый массив}
writeln('Упорядоченный массив: ');
ArrayOutput(mass);
end.
Автор ответа:
0
вот и буду неделю в этом разбираться охохоо
Автор ответа:
0
Только один вопрос - зачем Uses Crt с Win-среде? Для вызова ностальгического ДОС-окна?
Автор ответа:
0
По некоторым причинам я юзаю Pascal ABC 3.0.1.35, и в этой среде результат работы программы лучше выглядит в отдельном окне
Автор ответа:
0
Первая задача.
function Has7Octal(n: integer): Boolean;
var
p, q, r: integer;
begin
Result := false;
if n > 0 then begin
p := abs(n);
repeat
q := p div 8;
r := p mod 8;
if r = 7 then begin Result := true; p := 0 end
else p := q
until p = 0;
end;
end;
const
m = 10;
n = 7;
var
a: array[1..m] of integer;
b: array[1..n] of integer;
c: array[1..m + n] of integer;
i, k: integer;
begin
writeln('Введите элементы масcива А(', m, ')');
for i := 1 to m do read(a[i]);
writeln('Введите элементы масcива B(', n, ')');
for i := 1 to n do read(b[i]);
k := 0;
for i := 1 to m do
if not Has7Octal(a[i]) then begin
k := k + 1;
c[k] := a[i]
end;
for i := 1 to n do
if not Has7Octal(b[i]) then begin
k := k + 1;
c[k] := b[i]
end;
writeln('Результирующий массив');
for i := 1 to k do write(c[i]:7);
writeln
end.
Тестовый прогон:
Введите элементы масcива А(10)
3453 -2341 2424 15353 0 5344 93 7777 1274 -343
Введите элементы масcива B(7)
8644 8090 -12321 23432 5 1234 35
Результирующий массив
-2341 0 5344 93 -343 -12321 23432 5 1234 35
function Has7Octal(n: integer): Boolean;
var
p, q, r: integer;
begin
Result := false;
if n > 0 then begin
p := abs(n);
repeat
q := p div 8;
r := p mod 8;
if r = 7 then begin Result := true; p := 0 end
else p := q
until p = 0;
end;
end;
const
m = 10;
n = 7;
var
a: array[1..m] of integer;
b: array[1..n] of integer;
c: array[1..m + n] of integer;
i, k: integer;
begin
writeln('Введите элементы масcива А(', m, ')');
for i := 1 to m do read(a[i]);
writeln('Введите элементы масcива B(', n, ')');
for i := 1 to n do read(b[i]);
k := 0;
for i := 1 to m do
if not Has7Octal(a[i]) then begin
k := k + 1;
c[k] := a[i]
end;
for i := 1 to n do
if not Has7Octal(b[i]) then begin
k := k + 1;
c[k] := b[i]
end;
writeln('Результирующий массив');
for i := 1 to k do write(c[i]:7);
writeln
end.
Тестовый прогон:
Введите элементы масcива А(10)
3453 -2341 2424 15353 0 5344 93 7777 1274 -343
Введите элементы масcива B(7)
8644 8090 -12321 23432 5 1234 35
Результирующий массив
-2341 0 5344 93 -343 -12321 23432 5 1234 35
Автор ответа:
0
бред какойто
Похожие вопросы
Предмет: Химия,
автор: tigrov007
Предмет: История,
автор: polaj123321
Предмет: Литература,
автор: ismailovaajan
Предмет: История,
автор: Аноним
Предмет: Информатика,
автор: yanita05