Урок 23. Задача 3.
Primary tabs
Есть массив массив уникальных, ненулевых элементов (целые числа, 10 элементов):
[123, 45, 5638, 49, -78, 22, 5, 345, 68, 7]После каких-то преобразований получился массив:
[123, 5638, 22, 5, 68, 7, 0, 0, 0, 0]Задача: сформируйте ещё один массив из "потерянных" чисел (всех элементов 1-ого массива, которых нет во втором).
type arr_N = array[1..10] of integer;
var Arr_A :array [1..10] of integer = (123, 45, 5638, 49, -78, 22, 5, 345, 68, 7);
Arr_B :array [1..10] of integer = (123, 5638, 22, 5, 68, 7, 0, 0, 0, 0);
i, j, count :integer;
U_arr :arr_N;
begin
count := 1;
for i := 1 to high(Arr_A) do
for j := 1 to high(Arr_B) do
if Arr_A[i] = Arr_B[j] then
break
else
if j = high(Arr_B) then
begin
U_arr[count] := Arr_A[i];
count += 1;
end;
for i := 1 to high(U_arr) do
write(U_arr[i], ' ');
readln;
end.
- Log in to post comments
- 1123 reads
vedro-compota
Sun, 10/23/2022 - 18:01
Permalink
пробовать решить за одно
пробовать решить за одно прочтение первого и одно прочтение второго массивов.
_____________
матфак вгу и остальная классика =)
Dennis80
Wed, 10/26/2022 - 17:24
Permalink
type arr_N = array[1..10] of
type arr_N = array[1..10] of integer; var Arr_A :array [1..10] of integer = (123, 45, 5638, 49, -78, 22, 5, 345, 68, 7); Arr_B :array [1..10] of integer = (123, 5638, 22, 5, 68, 7, 0, 0, 0, 0); i, ib, count :integer; U_arr :arr_N; begin ib := 1; // индексы элементов из Arr_B count := 0; // индексы элементов для U_arr for i := 1 to high(Arr_A) do if Arr_A[i] = Arr_B[ib] then ib += 1 else begin count += 1; U_arr[count] := Arr_A[i]; // запись отсутствующих чисел end; for i := 1 to count do write(U_arr[i], ' '); readln; end.vedro-compota
Sun, 10/30/2022 - 13:03
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)