Урок 15 (Решенная задача 6) - Сдвиг массива
Primary tabs
Урок 15 (Решенная задача 6)
6) Заполнить массив из 9 элементов случайными числами, далее получить случайное число N из диапазона от 1 до 9 и затем "удалить" удалить элемент с позиции N из массива, "сдвинув" значения влево и заполнив все что справа нулями.
Например:|1|3|4|5|4|7|-8|-9|Путь n=2, тогда после работы программы мы должны получить:
|1|4|5|4|7|-8|-9|0|
var a : array[1..9] of integer;
i, N :integer;
begin
randomize();
for i:= 1 to 9 do
begin
a[i] := random(100) - 50;
writeln(a[i]);
end;
writeln('vvedite cislo N ot 1 do 9');
readln(N);
a[N] := 0;
writeln(a[N]);
writeln();
for i:= 1 to 9 do
if (i <> N) then
begin
writeln(a[i]);
if (i = 9) then
writeln(0);
end;
end.
- Log in to post comments
- 6733 reads
vedro-compota
Thu, 10/01/2020 - 15:16
Permalink
Добавьте ещё вариант:
Добавьте ещё вариант: перенесите операцию сдвига в подпрограмму
_____________
матфак вгу и остальная классика =)
Romakip
Fri, 10/02/2020 - 17:35
Permalink
Добавлено
var a : array[1..9] of integer; i, N :integer; function ru36(x: array of integer): integer; begin a[N] := 0; writeln(a[N]); writeln(); for i:= 1 to 9 do if (i <> N) then begin writeln(a[i]); if (i = 9) then writeln(0); end; end; begin randomize(); for i:= 1 to 9 do begin a[i] := random(100) - 50; writeln(a[i]); end; writeln('vvedite cislo N ot 1 do 9'); readln(N); ru36(a); end.vedro-compota
Sat, 10/03/2020 - 20:56
Permalink
функция должна возвращать
_____________
матфак вгу и остальная классика =)
Romakip
Mon, 10/05/2020 - 17:21
Permalink
Исправлено
type Myarr = array[1..9] of integer; var a : Myarr; i, N : integer; function ru36(x: Myarr; g, M: integer): Myarr; begin writeln(); for g:= 1 to 9 do if (g <> M) then begin writeln(a[g]); if (g = 9) then writeln(0); end; result := x; end; begin randomize(); for i:= 1 to 9 do begin a[i] := random(100) - 50; writeln(a[i]); end; N := random(9) - -1; writeln('Sluhaunoe cislo ravno :', N); ru36(a, i, N); end.Romakip
Thu, 10/15/2020 - 17:47
Permalink
type
type Myarr = array[1..9] of integer; var a : Myarr; i, N : integer; procedure ru36(x: Myarr; M: integer); var g: integer; begin writeln(); for g := M to high(x) do begin x[g] := x[g+1]; if (g = 9) then x[g] := 0; end; g := 0; for g := 1 to high(x) do writeln(x[g]); end; begin randomize(); for i:= 1 to 9 do begin a[i] := random(100) - 50; writeln(a[i]); end; N := random(9) - -1; writeln('Sluhaunoe cislo ravno :', N); ru36(a, N); end.vedro-compota
Sun, 10/18/2020 - 21:01
Permalink
переделайте подпрограмму на
переделайте подпрограмму на функцию, распечатку результата следует провести в теле основной программы
_____________
матфак вгу и остальная классика =)
Romakip
Mon, 10/19/2020 - 16:28
Permalink
Подпрограмма ничего не должна возвращать, поэтому оставлена проц
type Myarr = array[1..9] of integer; var a : Myarr; i, N : integer; procedure rand(var mas : Myarr); var k : integer; begin randomize(); for k:= 1 to 9 do mas[k] := random(100) - 50; end; procedure sdvig(var x: Myarr; M: integer); var g: integer; begin writeln(); for g := M to high(x) do begin x[g] := x[g+1]; if (g = 9) then x[g] := 0; end; end; begin rand(a); for i := 1 to high(a) do writeln(a[i]); N := random(9) - -1; writeln('Sluhaunoe cislo ravno :', N); sdvig(a, N); i := 0; for i := 1 to high(a) do writeln(a[i]); end.