Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 26.10.2012, 11:10   #11 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alise7 Посмотреть сообщение
упорядочить положительные элементы второй половины массива по убыванию модулей обратных значений.
Я в шоке от таких формулировок:
1. Если речь идет о положительных элементах, то и обратные значения тоже будут положительными. Причем тут тогда "модули"?
2. "Убывание обратных значений" - разве это не то же самое, что просто "возрастание значений"?
Или цель подобной формулировки - максимально запутать студента? А может быть, следует читать "упорядочить обратные значения элементов второй половины массива по убыванию модулей"? В общем, уточните у преподавателя, что имеется в виду.
Vladimir_S вне форума   Ответить с цитированием

Старый 26.10.2012, 11:10
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Вы не один, кто обращался за помощью с такой проблемой

У кого какого размера HDD
Изменения размера фотографий

Старый 07.11.2012, 23:11   #12 (permalink)
Alise7
Новичок
 
Регистрация: 21.10.2012
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
"Убывание обратных значений" - разве это не то же самое, что просто "возрастание значений"?
с объяснений преподавателя, что обратные значения это, например от числа а- 1/а. Более подробных объяснений не дают, ссылаясь на то ,что это курсовая работа(Вся надежда на Вас
Alise7 вне форума   Ответить с цитированием
Старый 08.11.2012, 10:43   #13 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Alise7 Посмотреть сообщение
с объяснений преподавателя, что обратные значения это, например от числа а- 1/а.
Так, ну с Вами примерно всё ясно. Спасибо, я в курсе, что такое "обратные значения".
Цитата:
Сообщение от Alise7 Посмотреть сообщение
Более подробных объяснений не дают, ссылаясь на то ,что это курсовая работа(
Между тем, я считаю, что Вы в праве потребовать четкой формулировки задания, а они (преподы) обязаны Вам таковую дать. Ну что за бред, ей-Богу - "модули обратных значений положительных элементов"?! Если число положительное, то и обратное значение его тоже положительно, тогда при чем тут "модули"? И, еще раз: "убывание обратных значений" - это то же самое, что возрастание самих значений (но только в случае положительных чисел!), тогда почему так и не написать? В общем, моё мнение такое: здесь налицо явная ошибка и, возможно, не одна.
Цитата:
Сообщение от Alise7 Посмотреть сообщение
Вся надежда на Вас
Единственное, что могу сделать - это написать программу в строгом и точном соответствии с той ахинеей, которая содержится в формулировке. Потом наверняка последует "ой, а преподаватель сказал, что там опечатка и надо было..." но это уже не ко мне. Я просил Вас уточнить задание, даже вопросы конкретные задал, но тщетно. Что же, получите:
Код:
var
 a: array [1..100] of integer;
 b:array[1..50] of integer;
 num:array[1..50] of byte;
 i,max,N,Imax,j,Npos,D: integer;
 bo:boolean;

begin
 randomize;
 write('N (<=100)= ');
 readln(N);
 for i:= 1 to n do
  a[i]:=-25+random(101);
 writeln('Initial array: ');
 for i:=1 to N do write(a[i]:4);
 writeln;
 max:=-80;
 Imax:=2;
 for i:=2 to N-1 do
  if (a[i]>max) and
     not((a[i]>a[i+1]) and (a[i]>a[i-1])) and
     not((a[i]<a[i+1]) and (a[i]<a[i-1])) then
     begin
      Imax:=i;
      max:=a[i];
     end;
 writeln('Result: ');
 if max=-80 then writeln('No such elements')
 else writeln('i= ',Imax,'     Max= ',max);
 writeln;
 Npos:=0;
 for i:=(N div 2)+1 to N do
  if a[i]>0 then
   begin
    Inc(Npos);
    b[Npos]:=a[i];
    num[Npos]:=i;
   end;
 for i:=1 to Npos-1 do
  for j:=1 to Npos-i do
   if Abs(1/b[j])<Abs(1/b[j+1]) then
    begin
     D:=b[j];
     b[j]:=b[j+1];
     b[j+1]:=D;
    end;
 for i:=1 to N do
  begin
   bo:=false;
   j:=0;
   repeat
    Inc(j);
    if num[j]=i then bo:=true;
   until bo or (j=Npos);
   if bo then write(b[j]:4) else write(a[i]:4);
  end;
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:34.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.