Помощь - Поиск - Пользователи - Календарь
Полная версия: Действительные числа
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Данила
1. Даны действительные числа a1,a2…,an. Среди них есть положительные и отрицательные. Заменить нулями те числа величина которых по модулю больше максимального числа ( |a1|>max{a1,a2,…,an}).

2. Даны действительные числа a1,a2…,an. Найти мах (а1+а2na2+a2n-1,…,an+an+1,).

3. В последовательности действительных чисел a1,a2…,an. Есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P1 и произведение положительных элементов Р2. Сравнить модуль Р2 с модулем Р1, указать какое из произведений по модулю больше.

4. Дан массив действительных чисел. Среди них есть равные. Найти первый максимальный элемент массива и заменить его нулём.
Altair
Цитата
Дан массив действительных чисел. Среди них есть равные. Найти первый максимальный элемент массива и заменить его нулём.

находим макс. эл-т, и заменяем его на ноль.
(кажется есть в факе)
klem4
1)
Код
uses crt;
const n=5;
var a:array[1..n] of integer;
   i,max:integer;

Begin
  clrscr;
  for i:=1 to n do
   readln(a[i]);
  max:=a[1];
  for i:=2 to n do
   if a[i]>max then max:=a[i];
 for i:=1 to n do
  if abs(a[i])>max then
   a[i]:=0;
 writeln;
 for i:=1 to n do
  writeln(a[i]:2);
 readln
end.


2)

Цитата
(а1+а2na2+a2n-1,…,an+an+1,).
- не понял.

3)
Код
uses crt;
const n=5;
var a:array[1..n] of integer;
   i,p1,p2:integer;

Begin
  clrscr;
  p1:=1;
  p2:=1;
  for i:=1 to n do
   begin
      readln(a[i]);
      if a[i]>0 then
       p1:=p1*a[i]
        else
         if a[i]<0 then
          p2:=p2*a[i];
   end;
   writeln;
   writeln('p1=',p1);
   writeln('p2=',p2);
   if abs(p1)>abs(p2) then
    writeln('|p1|>|p2|')
     else if abs(p2)>abs(p1) then
      writeln('|p2|>|p1|') else
       writeln('|p2|=|p1|');
   readln;
end.



4).
Код
uses crt;
const n=5;
var a:array[1..n] of integer;
   i,nfind,max:integer;

Begin
  clrscr;
  for i:=1 to n do
   readln(a[i]);
  nfind:=1;
  max:=a[1];
  for i:=2 to n do
   if a[i]>max then nfind:=i;
  a[nfind]:=0;
  writeln;
  for i:=1 to n do
    writeln(a[i]);
  readln;
end.


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