1.Даны два массива: А(5) и В(5). Сформируйте из них массив С,предварительно определив его длину,включая попеременно из массива А положительные
10-11 класс
|
элементы, а из массива В -нечетные по значению.Выведите на экран массивы А,В,С.
2.Информация о площадях и средней урожайности хранится в массиве,где каждый элемент с четным индексом - засеянная площадь, а с нечетным - урожайность.Определите и выведите на экран кол-во собранной пшеницы и среднюю урожайность.
Помогите пожалуйста!
Program Mazoff1;
uses crt;
var
a,b: array [1..5] of integer;//Массивы А и В
c:array [1..10] of integer;//Массив С
i,j:integer;//счетчики
begin
randomize;
j:=0;
for i:=1 to 5 do
begin
a[i]:=random(101)-50;//заполняем массивы
b[i]:=random(101)-50;//случайными числами от -50 до 50
end;
for i:=1 to 5 do
begin
write(a[i],' '):5;//выводим массивы А и В в столбик
writeln(b[i]):5;
end;
for i:=1 to 5 do
begin
if a[i]>0 then //проверяем текущий элелмент массива А
begin
j:=j+1; //если он положительный, увеличиваем счетчик на 1
c[j]:=a[i]; //и добавляем этот элемент в массив С
end;
if b[i] mod 2 <> 0 then //проверяем текущий элелмент массива В
begin
j:=j+1; //если он чётный, увеличиваем счетчик на 1
c[j]:=b[i]; //и добавляем этот элемент в массив С
end;
end;
writeln('Всего в массиве С ',j,' элементов: ');
for i:=1 to j do
writeln(c[i]);
end.
Program Mazoff2;
uses crt;
const n = 20;
var
mas:array [1..n] of real;//Массив данных
i,j:integer;//счетчики
ur,pl: real;//урожай и площадь
begin
randomize;
for i:=1 to n do
begin
mas[i]:=random(101);//заполняем массив
end;
j:=1;
ur:=0;
pl:=0;
while j<=n do
begin
ur:=ur+mas[j]*mas[j+1];
pl:=pl+mas[j+1];
j:=j+2;
end;
writeln('Всего собрано ',ur,' тонн с общей площади ',pl,' га.');
writeln('Средняя урожайность равна ',ur/pl:3:2);
end.
Кстати, программа Димана добавляет сначала все нужные элементы из массива А, а только потом - из массива В. А в условии задачи сказано: "попеременно"
program zadacha_pervaya;
uses crt;
var a,b: array [1..5] of integer;
c:array [1..10] of integer;
i,k:integer;
begin
clrscr;
k:=0;
for i:=1 to 5 do begin
readln(a[i]);
if a[i]>0 then begin
k:=k+1;
c[k]:=a[i];
end;
end;
for i:=1 to 5 do begin
readln(b[i]);
if b[i] mod 2 <> 0 then begin
k:=k+1;
c[k]:=a[i];
end;
end;
for i:=1 to k do begin
writeln(c[i]);
end;
end.
Другие вопросы из категории
10011,101 2→Х10
для обчислення добутків виду (х-1)(х-2)(х-3)...(х-n)
(P.S скласти програму и блок схему)
матрицы).
2) написать процедуру которая находит сумму всех элементов на побочной диагонали и кол во отрицательных элементов ( всей матрицы)
Читайте также
Объединить два массива в один массив с чередованием элементов исходных
массивов. Вывести новый массив.
паскаль.
и В(3*3). Вывести на экран тот из них, у которого меньше сумма элементов главной диагонали.
17.Дан массив А(3*4). Заменить все отрицательные элементы на противоположные.
лементов. Результат распечатать в виде:
Сумма наибольших=
Сумма наименьших=
№2
Даны два массива по 30 элементов. Найти среднее арифмитическое для элементов 1-го массива,номера которых больше номера минимального элемента 2-го массива
Заранее спасибо
написать программу, которая отвечает на вопрос " существуют ли два последовательных числа, не превосходящих N, сумма цифр каждого из которых делится на k?"
Входные данные: Два числа N(1<=N<=10000000000),k (1<=k<=100)
Выходные данные: Программа выводит два таких числа, если они существуют,"NO"- если нет.