Из Turbo В C++

  • Автор темы brahmanchik
  • Дата начала
B

brahmanchik

Гость
#1
Код:
const
nmax=100;
type
Tarr=array[1..nmax] of integer;
var
a:Tarr;
i,j,buf,n:integer;
begin
randomize;
repeat
write('Razmer massiva, ne bolee ',nmax,': ');
readln(n);
until n in [1..nmax];
writeln('Ishodniy massiv:');
for i:=1 to n do
begin
a[i]:=-20+random(41);
write(a[i]:4);
end;
writeln;
for i:=1 to n-1 do
if a[i]>0 then
for j:=i+1 to n do
if (a[j]>0) and (a[j]>a[i]) then
begin
buf:=a[i];
a[i]:=a[j];
a[j]:=buf;
end;
writeln('Poluchenniy massiv:');
for i:=1 to n do
write(a[i]:4);
writeln;
end.
А вот и задание для кода, что выше - Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется: Отсортировать по убыванию положительные элементы массива методом выбора.



Вот еще один код, он ниже

Код:
var i,res1,res2:integer;
s:string;
begin
read(s);
if (s[1]<>' ') and (s[2]=' ') then res2:=res2+1;
if (s[length(s)-1]<>' ') and (s[length(s)-2]=' ') then res2:=res2+1;
if (s[length(s)-1]='о') and (s[length(s)-2]<>' ') then res1:=res1+1;
if length(s)>5 then
for i:=3 to length(s)-3 do
if (s[i-1]=' ') and (s[i+1]=' ') then res2:=res2+1;
if length(s)>6 then
for i:=2 to length(s)-3 do
if (s[i-1]<>' ') and (s[i+1]=' ') and (s[i]='о') then res1:=res1+1;
writeln('местоимений-',res2,' наречий-',res1);
end.
И наконец задание для этого кода Дана фраза, в которой слова разделены одним пробелом, а сама фраза заканчивается точкой. Требуется:Определить, сколько в ней наречий и однобуквенных местоимений