• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

Задачи в паскале на массивы

  • Автор темы adler54
  • Дата начала
A

adler54

1) Найти дробную часть вещественного числа х, если целые числа вводимые с экрана положительные; x=y/z
--------------------------------------------------------------------------
Код:
if(y>0)and(z>0) then
begin
x:=frac(y/z);
writeln(x:0:5);
end;
--------------------------------------------------------------------------


2) Из N вещественных чисел, задаваемых оператора ввода, найти отрицательные и вывести на экран целую и дробную часть этих чисел отдельно

3) Найти среднеарифметическое элементов вещественного массива А1,А2...Аn предшествующих первому элементу, большему 50.
n-длина массива
А1,А2...Аn -массив
--------------------------------------------------------------------------
Код:
uses crt;
const max=100;
var a:array[1..max] of real;
n,i,j:byte;
sr:real;
begin
clrscr;
randomize;
repeat
write('Размер массива n=');
readln(n);
until n in [1..max];
writeln('Исходный массив:');
for i:=1 to n do
begin
a[i]:=60*random;
write(a[i]:5:1);
end;
writeln;
writeln;
i:=1;{начало массива}
j:=0;{индекс искомого элемента}
while(i<=n)and(j=0)do{пока не конец и элемент не больше 50}
if a[i]>50 then j:=i{идем и ищем, нашли, запомнили}
else i:=i+1;{иначе вперед}
if j=0 then write('Элементов больше 50 в массиве нет')
else if j=1 then write('Элемент больше 50 первый, предшествующих нет')
else
begin
writeln('Первый элемент больше 50=',a[j]:0:1,' его индекс=',j);
sr:=0;
for i:=1 to j-1 do sr:=sr+a[i];{}
sr:=sr/(j-1);{}
write('Среднее до первого элемента больше 50=',sr:0:1);
end;
readln
end.
-------------------------------------------------------------------------

Что смог наклёпал, но препода не устраивает, подскажите товарищи )
 
D

Dock1100

1) Найти дробную часть вещественного числа х, если целые числа вводимые с экрана положительные; x=y/z
Код:
var y,z,x,d:real;
begin
writeln('vvedi chisla');
readln(y);
readln(z);
x:=y/z;
d:=trunc(x); {Получаем дробную часть}
d:=x-d; {получаем целое число}
writeln(d);
end.
 
H

hosm

Dock1100 не путай народ в комментах, ты какую задачу решаешь? :rolleyes:
trunc(x) - отсекает дробную, т.е. получает целое число.
Есть еще Int Целая часть числа с плавающей точкой
frac должно быть правильно: Frac Дробная часть числа с плавающей запятой
 
D

Dock1100

Извеняюсь
Код:
var y,z,x,d:real;
begin
writeln('vvedi chisla');
readln(y);
readln(z);
x:=y/z;
d:=trunc(x); {получаем целое число}
d:=x-d; {Получаем дробную часть, отнимая от данного целое}
writeln(d);
end.
 
C

CoderGirl

icq 625127032
e-mail: valeri.marquise.des.anges@gmail.com
valeria.glinskaya@mail.ru
Сделаю недорого!
 
A

adler54

Спасибо за помощь! Обязательно ещё оброщусь, всё на высшем уровне!
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!