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

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

adler54

Гость
#1
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.
-------------------------------------------------------------------------

Что смог наклёпал, но препода не устраивает, подскажите товарищи )
 
09.11.2009
665
1
23
Киев
#2
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.
 

hosm

* so what *
18.05.2009
2 442
9
42
Kiev, Ukraine
#3
Dock1100 не путай народ в комментах, ты какую задачу решаешь? :rolleyes:
trunc(x) - отсекает дробную, т.е. получает целое число.
Есть еще Int Целая часть числа с плавающей точкой
frac должно быть правильно: Frac Дробная часть числа с плавающей запятой
 
09.11.2009
665
1
23
Киев
#4
Извеняюсь
Код:
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.
 
A

adler54

Гость
#5
Спасибо за 1 задачу, очень благодарен, ест мысли по 2 и 3?
 
C

CoderGirl

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

adler54

Гость
#7
Спасибо за помощь! Обязательно ещё оброщусь, всё на высшем уровне!