Задание:Дан массив чисел. Определить, сколько раз меняется знак в данной последовательности чисел. Вывести номера позиций, в которых происходит смена знака.
Код программы:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
var
a : array [1..50] of integer;
n,i,result:integer;
begin
write('Vvedite kolichestvo chisel:');
readln(n);
write('Vvedite elementi posledovatelnosti:');
result:=0;
for i:=1 to n do read(a[i]);
for i:=2 to n do
begin
if ((a[i-1] * a[i] < 0) or ((a[i] = 0) and (a[i-1] < 0)) or ((a[i-1] = 0) and (a[i] < 0))) then
result:= result + 1;
end;
writeln('Znak menaylsa: ',result); readln;
{ TODO -oUser -cConsole Main : Insert code here }
end.
Двумерные массивы
Формирование двумерных массивов
Код программы:
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils;
type
mas=array[1..10]of integer;
mass=array[1..10,1..10] of real;
var
i, j, n: integer; x, y:mas; z:mass;
begin
write ('n='); readln(n);
writeln; writeln('matrix x');
for i:=1 to n do begin write('x[',i,']=');
Read(x[i]); end;
writeln; writeln('matrix y');
for j:=1 to n do begin write('y[',j,']=');
Read(y[j]); end;
writeln; writeln('matrix z');
for i:=1 to n do
begin
for j:=1 to n do
begin
z[i,j]:=(sqr(y[j]))/(2+x[i]);
write(' ', z[i,j]:1:2);
end;
writeln;
end;
readln;
{ TODO -oUser -cConsole Main : Insert code here }
end
Обработка двумерных массивов
Задание:Дан двумерный массив чисел размера n*l. Вычислить произведение ненулевых элементов третьей строки
Код программы:
program Project2;
{ TODO -oUser -cConsole Main : Insert code here }
{$APPTYPE CONSOLE}
uses SysUtils;
var a:array [1..10,1..10] of integer;
i,j,p,n,l:integer;
begin
randomize;
write('n='); readln(n);
write('l='); readln(l);
for i:=1 to n do
for j:=1 to l do
a[i,j]:=random(20);
for i:=1 to n do
begin
for j:=1 to l do
write(a[i,j]:3,' ');
writeln; readln;
end;
p:=1;
for j:=1 to l do
if a[3,j]<> 0 then
p:=p*a[3,j];
writeln('p=', p);
readln;
end.
Строковый тип данных.
Обработка строк
Задание:Дана строка символов. В данной строки заменить все сочетания «да» на «нет».
Код программы:
program Project2;
{ TODO -oUser -cConsole Main : Insert code here }
{$APPTYPE CONSOLE}
uses SysUtils;
var s,c:string; k:integer;
begin
readln(s);
while length(s)<>0 do
begin
if pos('da',s)<>0 then
begin
k:=pos('da',s);
delete(s,k,length('da'));
insert('net',s,k);
end
else break;
end;
writeln('s= ', s); readln;
end.
Обработка подстрок
Задание: Дан текст, между слова один или несколько пробелов. Найти все слова содержащие заданное количество символов (a, t, i, o, u, y).