Лабы+Курсовик / Информатика Отчет №1,2
.docЗадача: требуется написать программу, которая бы могла считать, сколько раз знак меняется в массиве. Пример: в массиве 1, 2,-3,4,-5,6,0,-7 – знак меняется 5 раз.
Program L1_DsU;
uses crt;
const n=50;
var
x,k,i:integer;
a:array[1..n] of integer;
begin
clrscr;
writeln ('Введите длину массива:');
readln (x);
writeln ('Введите массив:');
for
i:=1 to x do
begin
readln(a[i]);
end;
k:=0;
for i:=1 to x do
begin
if a[i]*a[i+1]<0 then k:=k+1;
end;
writeln ('Знак меняется ',k,' раз(a)');
ReadKey;
end.
Пример работы программы:
Введите длину массивы:
8
Введите сам массив:
1
1
0
1
-1
5
-9
-17
Знак меняется 3 раз(а)
Задача: требуется упорядочить заданный массив таким образом, чтобы все нули из заданного массива оказались в конце, а сам массив вначале состоял бы из тех цифр, в какой последовательности они были заданны. (Пример задачи: массив:1,2,0,3,5,0,6,0 будет выглядеть так 1,2,3,5,6,0,0,0)
Program L2_Den;
uses crt;
const n=50;
var
k,i,j,t,p:integer;
a:array[1..n] of integer;
begin
clrscr;
writeln('Введите длину массива:');
readln(p);
writeln('Введите сам массив:');
for i:=1 to p do
begin
readln(a[i]);
end;
writeln('Это ваш исходный массив:');
for i:=1 to p do
write(a[i],' ');
for i:=1 to p do
for j:=p-i downto 1 do
if a[j]=0 then begin
t:=a[j+1];
a[j+1]:=0;
a[j]:=t;
end;
writeln('');
writeln(Он же, но записан в соответствии с условием задачи: ');
for i:=1 to p do write(a[i],' ');
readkey;
end.
Введите длину массивы:
12
Введите сам массив:
1
0
2
0
3
0
4
0
5
0
6
0
Это ваш исходный массив:
1 0 2 0 3 0 4 0 5 0 6 0
Он же, но записан в соответствии с условием задачи:
123456000000