Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2015, 19:32   #1
Новичок63
 
Регистрация: 07.11.2015
Сообщений: 7
По умолчанию Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных

В одномерном массиве, состоящем из n вещественных элементов, вычислить:
— максимальный по модулю элемент массива;
— сумму элементов массива, расположенных между первым и вторым положительными элементами.
Преобразовать массив таким образом, чтобы элементы, равные нулю, располагались после всех остальных
Новичок63 вне форума Ответить с цитированием
Старый 07.11.2015, 19:41   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Обратная сортировка. Меняем знаки в любой из понравившихся и получаем результат.
Лень погуглить? Да там этих сортировок, как грязи в дождливый день.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 08.11.2015, 01:45   #3
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Код:
const
  N=10;
var
a:array[1..N] of real;
s,amax:real;
i,j,ip,iv:integer;
begin
  writeln('massiv:');
  ip:=0;
  iv:=0;
  for i:=1 to N do
  begin
    readln(a[i]);
    if i=1 then amax:=a[i]
    else
      if abs(a[i])>abs(amax) then amax:=a[i];
    if (a[i]>0) and (ip<>0) and (iv=0) then iv:=i;
    if (a[i]>0) and (ip=0) then ip:=i;
  end;
  writeln('max: ',amax:6:3);
  s:=0;
  if (ip>0) and (iv>0) then
  begin
    for i:=ip+1 to iv-1 do s:=s+a[i];
    writeln('sum: ',s:6:3);
  end
  else writeln('net dvuh polojitelnih!');
  for i:=1 to N-1 do
  begin
    if a[i]=0 then
    begin
      for j:=i+1 to N do a[j-1]:=a[j];
      a[N]:=0;
    end;
  end;
  writeln('massiv nuli v konce:');
  for i:=1 to N do write(a[i]:6:3,' ');
  writeln;
end.
temaps вне форума Ответить с цитированием
Старый 08.11.2015, 16:30   #4
Новичок63
 
Регистрация: 07.11.2015
Сообщений: 7
По умолчанию

Цитата:
Сообщение от temaps Посмотреть сообщение
Код:
const
  N=10;
var
a:array[1..N] of real;
s,amax:real;
i,j,ip,iv:integer;
begin
  writeln('massiv:');
  ip:=0;
  iv:=0;
  for i:=1 to N do
  begin
    readln(a[i]);
    if i=1 then amax:=a[i]
    else
      if abs(a[i])>abs(amax) then amax:=a[i];
    if (a[i]>0) and (ip<>0) and (iv=0) then iv:=i;
    if (a[i]>0) and (ip=0) then ip:=i;
  end;
  writeln('max: ',amax:6:3);
  s:=0;
  if (ip>0) and (iv>0) then
  begin
    for i:=ip+1 to iv-1 do s:=s+a[i];
    writeln('sum: ',s:6:3);
  end
  else writeln('net dvuh polojitelnih!');
  for i:=1 to N-1 do
  begin
    if a[i]=0 then
    begin
      for j:=i+1 to N do a[j-1]:=a[j];
      a[N]:=0;
    end;
  end;
  writeln('massiv nuli v konce:');
  for i:=1 to N do write(a[i]:6:3,' ');
  writeln;
end.
мне нужно в с++
Новичок63 вне форума Ответить с цитированием
Старый 08.11.2015, 16:30   #5
Новичок63
 
Регистрация: 07.11.2015
Сообщений: 7
По умолчанию

в С++ надо
Новичок63 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C#массив Преобразовать чтобы сначала располагались все элементы, logikal Помощь студентам 2 28.04.2014 20:06
упорядочить одномерный массив таким образом,чтобы сначалашлиупорядоченные положительные члены и tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 5 05.07.2012 20:16
Преобразовать строку таким образом, чтобы цифры каждого слова были перенесены в начало слова, изменив порядок следования цифр в с Нортон Общие вопросы C/C++ 0 11.02.2012 18:38
Преобразовать массив таким образом, чтобы сначала располагались элементы из интервала [a,b] , а затем все parka Паскаль, Turbo Pascal, PascalABC.NET 7 15.05.2011 22:17
Преобразовать строку таким образом, чтобы буквы каждого слова в ней были отсортированы по возрастанию. Matr1x Общие вопросы C/C++ 4 07.01.2010 21:38