Помощь - Поиск - Пользователи - Календарь
Полная версия: Массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lolbec
Помогите , пожалуйста, решить задачу по массиву дня три ломаю над ней голову и не получается.Просто не понимаю, как её решать, через задание нового массива, что ли?Как записать эти гребанные условия и как определить количество.
Заранее буду благодарен всем тем, кто отзовется.
Задача:
Дано x1,x2...x8
Определить N — количество x[i] c чётными номерами, меньшими x1 и xmax.
Федосеев Павел
А есть уже хоть какие-либо наработки (ввод массива или ещё что-то)?
lolbec
Цитата(Федосеев Павел @ 15.11.2017 12:30) *

А есть уже хоть какие-либо наработки (ввод массива или ещё что-то)?

Есть.

 Program lab6;
Var x: array[1..8] of real;
s1,s2,smax: real;
i: integer;
begin
Writeln('Ввод массива x');
For i:=1 to 8 do begin
Write('x[',i,']=');
Read (x[i]);
end;
smax:=x[1]; n:=1;
For i:=1 to 8 do
If smax<x[i] then begin smax:=x[i]; n:=i;
end;
If x[i] mod 2 = 0 then s1:=s1+x[i] else s2:=s2+x[i];
If s1<x[1] then s1:=s1;
If s1<smax/2 then g[k]:=x[i];
Writeln ('Массив g');
For i:=1 to k do
Writeln (g[i]:8:3);
Writeln ('s1=',s1:8:3, 's2=',s2:8:3, 'smax=',smax:9:3);
end.

Федосеев Павел
Ещё раз вчитался в условие: подсчитать количество элементов массива меньших x[1] и меньших max(x). В массиве почти все элементы меньше max(x).
program lab6;

var
x: array[1..8] of real;
xmax: real;
i, n: integer;
begin
Writeln('Ввод массива x');
for i := 1 to 8 do
begin
Write('x[', i, ']=');
Read(x[i]);
end;
xmax := x[1];
n := 1;
for i := 1 to 8 do
if xmax < x[i] then
begin
xmax := x[i];
n := i;
end;
writeln('xmax=', xmax);
N := 0;
for i := 1 to 8 do
if odd(i) and (x[i] < x[1]) and (x[i] < xmax) then
Inc(N);
writeln('N=', N);
end.
lolbec
Цитата(Федосеев Павел @ 17.11.2017 0:29) *

Ещё раз вчитался в условие: подсчитать количество элементов массива меньших x[1] и меньших max(x). В массиве почти все элементы меньше max(x).
program lab6;

var
x: array[1..8] of real;
xmax: real;
i, n: integer;
begin
Writeln('Ввод массива x');
for i := 1 to 8 do
begin
Write('x[', i, ']=');
Read(x[i]);
end;
xmax := x[1];
n := 1;
for i := 1 to 8 do
if xmax < x[i] then
begin
xmax := x[i];
n := i;
end;
writeln('xmax=', xmax);
N := 0;
for i := 1 to 8 do
if odd(i) and (x[i] < x[1]) and (x[i] < xmax) then
Inc(N);
writeln('N=', N);
end.


Хорошо, я понял, спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.