Три простые задачки по одномерным массивам [Pascal]
1. Задана последовательность с N чисел: а1, а2, а3..аN. Найти количество положительных чисел.
2. Задана последовательность с N чисел: а1, а2, а3..aN. Найти сумму чисел, которые имеют парные порядковые номера и есть парными.
3. Задано две последовательности с N чисел: а1, а2, а3..аN и b1, b2, b3..bN. Создать новую последовательность сделав объединение последовательностей a и b.
3. [v2] Задана последовательность с N чисел: а1, а2, а3..аN. Отсортировать нечетные элементы и записать результат в отдельный массив.
3. [v3] Задана последовательность с N чисел: а1, а2, а3..аN. Отсортировать элементы, которые кратные 5 и записать результат в отдельный массив.
[COLOR="#9932cc"]Третье задание одно на выбор.[/COLOR]
[Если что-то не ясно с условием задачек, обращайтесь ко мне, растолкую]
Задача №1 [Для нуждающихся]
Код:
var a:array[1..100] of integer;
k,n,i:integer;
Begin
Randomize;
k:=0;
n:=100;
for i:=1 to n do begin
a:=random(100)-50;
write(a:4);
if a>0 then k:=k+1;
end;
Writeln;
Writeln('Kolichestvo polojitel`nyh chisel: ',k);
Readln;
end.
k,n,i:integer;
Begin
Randomize;
k:=0;
n:=100;
for i:=1 to n do begin
a:=random(100)-50;
write(a:4);
if a>0 then k:=k+1;
end;
Writeln;
Writeln('Kolichestvo polojitel`nyh chisel: ',k);
Readln;
end.
Задача №2.
Код:
var a:array[1..100] of integer;
sum,n,i:integer;
Begin
Randomize;
n:=100;
sum:=0;
for i:=1 to n do
begin
a:=random(100)-50;
write(a:4);
if (amod 2=0) and (i mod 2=0) then sum:=sum+a;
end;
Writeln;
Writeln('Summa chetnyh chisel: ',sum);
Readln;
end.
sum,n,i:integer;
Begin
Randomize;
n:=100;
sum:=0;
for i:=1 to n do
begin
a:=random(100)-50;
write(a:4);
if (amod 2=0) and (i mod 2=0) then sum:=sum+a;
end;
Writeln;
Writeln('Summa chetnyh chisel: ',sum);
Readln;
end.
Задача №3 [v3]
Код:
uses crt;
var a,b: array [1..100] of integer;
n,i,j,k,buf: integer;
begin
write('N=');
readln(n);
writeln('Исходный массив ');
j:=1;
for i:=1 to n do
begin
a:=random(101)-50;
write(a:4);
if a mod 5=0 then
begin
b[j]:=a;
inc(j);
end;
end;
k:=j-1;
j:=0;
while j<=k*k do
begin
for i:=1 to k-1 do
if b>b[i+1] then
begin
buf:=b;
b:=b[i+1];
b[i+1]:=buf;
end;
inc(j);
end;
writeln;
writeln('Массив кратных 5 ');
for i:=1 to k do
write(b:4);
end.
var a,b: array [1..100] of integer;
n,i,j,k,buf: integer;
begin
write('N=');
readln(n);
writeln('Исходный массив ');
j:=1;
for i:=1 to n do
begin
a:=random(101)-50;
write(a:4);
if a mod 5=0 then
begin
b[j]:=a;
inc(j);
end;
end;
k:=j-1;
j:=0;
while j<=k*k do
begin
for i:=1 to k-1 do
if b>b[i+1] then
begin
buf:=b;
b:=b[i+1];
b[i+1]:=buf;
end;
inc(j);
end;
writeln;
writeln('Массив кратных 5 ');
for i:=1 to k do
write(b:4);
end.
Код:
n := 1000;
в начале.
Большое спасибо:)
Обновил первый пост. Помогите пж, а то сам ни в какую не могу решить ><
Решил все задачи. Тему можно закрыть.