Задача 18 Урок 15
Primary tabs
Задача 18 Урок 15У вас есть два массива целых чисел по 10 элементов в каждом.
Выведите на экран все числа из первого массива, которые не содержаться во втором.
const
N = 10;
type
arr = array[1..N] of integer;
var
mas1, mas2: arr;
i, j: integer;
function createArray(var newarr: arr; a: integer):arr;
var
min, max: integer;
begin
min:= -10;
max:= 10;
for a:= low(newarr) to high(newarr) do
begin
newarr[a]:= min + random(max - min + 1);
write(newarr[a], ' ');
end;
result:= newarr;
end;
function newArray(var arr1:arr; var arr2:arr; x, y: integer):arr;
begin
for y:= low(arr2) to high(arr2) do
for x:= low(arr1) to high(arr2) do
if arr1[x] = arr2[y] then
arr1[x]:= 0;
for x:= low(arr1) to high(arr2) do
if arr1[x] <> 0 then
write(arr1[x], ' ');
result:= arr1;
end;
begin
randomize();
createArray(mas1, i);
writeln();
createArray(mas2, j);
writeln();
writeln();
newArray(mas1, mas2, i, j);
readln();
end.
- Log in to post comments
- 1988 reads
vedro-compota
Wed, 09/08/2021 - 19:42
Permalink
function newArray(var arr1
1) x, y: integer -- можно заменить локальными переменными функции
2)
-- передача по ссылке не нужна.
_____________
матфак вгу и остальная классика =)
alterMann
Wed, 09/08/2021 - 20:40
Permalink
Изменил
const N = 10; type arr = array[1..N] of integer; var mas1, mas2: arr; i, j: integer; function createArray(var newarr: arr; a: integer):arr; var min, max: integer; begin min:= -10; max:= 10; for a:= low(newarr) to high(newarr) do begin newarr[a]:= min + random(max - min + 1); write(newarr[a], ' '); end; result:= newarr; end; function newArray(arr1, arr2:arr):arr; var x, y: integer; temp_arr: arr; begin for y:= low(arr2) to high(arr2) do for x:= low(arr1) to high(arr2) do if arr1[x] = arr2[y] then arr1[x]:= 0; for x:= low(temp_arr) to high(temp_arr) do if arr1[x] <> 0 then begin temp_arr[x]:= arr1[x]; write(temp_arr[x], ' '); end; result:= temp_arr; end; begin randomize(); createArray(mas1, i); writeln(); createArray(mas2, j); writeln(); writeln(); newArray(mas1, mas2); readln(); end.