Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Массивы

Автор: lolbec 14.11.2017 3:29

Помогите , пожалуйста, решить задачу по массиву дня три ломаю над ней голову и не получается.Просто не понимаю, как её решать, через задание нового массива, что ли?Как записать эти гребанные условия и как определить количество.
Заранее буду благодарен всем тем, кто отзовется.
Задача:
Дано x1,x2...x8
Определить N — количество x[i] c чётными номерами, меньшими x1 и xmax.

Автор: Федосеев Павел 15.11.2017 12:30

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

Автор: lolbec 16.11.2017 16:33

Цитата(Федосеев Павел @ 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.


Автор: Федосеев Павел 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.

Автор: lolbec 17.11.2017 13:35

Цитата(Федосеев Павел @ 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.


Хорошо, я понял, спасибо