Помощь - Поиск - Пользователи - Календарь
Полная версия: Задачка
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
студентка
Срочно надо решить задания, а я ничего в массивах не знаю. blink.gif Помогите пожалуйста!!!!
1.)Даны действительные а1,....,a18. Получить а1,a10,a2,a11,...,a9,a18.
2.)Даны целые a1,...,an. Получить новую последовательность, выбросив из
исходной все члены с наибольшим значением (если все члены последовательности равны, то ничего выводить не нужно).
3.)Если в данной последовательности действительных чисел a1,....,an есть
хотя бы один член, меньше чем -2, то все отрецательные члены заменить
их квадратами, оставив остальные без изменений; в противном случае
домножить все члены на 0.1.
volvo
студентка
Вот первая задача... Попробуйте решить остальные самостоятельно...

Var
  a: Array[1 .. 18] Of Real;
  i, j, next: Integer; T: Real;

Begin
  For i := 1 To 18 Do
    Begin
      Write('a[', i, '] = ');
      Readln(a[i]);
    End;

  i := 1; next := 10;
  While i <= 18 do
    Begin

      T := a[next];
      For j := Pred(next) DownTo Succ(i) Do
        a[Succ(j)] := a[j];
      a[Succ(i)] := T;

      Inc(i, 2); Inc(next)
    End;

  For i := 1 To 18 Do
    WriteLn('a[', i, '] = ', a[i])
End.

студентка
volvo
СПАСИБО!!!
студентка
rolleyes.gif Вторую задачку я решила, а вот с третьей проблемкасуть задачи я поняла, а вот только никак не могу понять как она решается!!! Помогите!!!! Хотя бы какую нибудь подсказочку дайте!!!!
volvo
студентка
Значит так: самый простой вариант - два прохода по массиву.
Первый проход - проверяем, есть ли элемент меньше, чем -2. Если есть, устанавливаем какую-то переменную типа Boolean в True.

Перед 2-ым проходом проверяем состояние этой переменной, и если она = True, то каждый A[i] для которого выполняется A[i] < 0, заменяем на SQR(A[i]). Если переменная равна False, то просто проходим по массиву и умножаем каждый его элемент на 0.1
студентка
СПАСИБО-О-О!!!!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.