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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2014, 20:32   #1
Жаннулька
Пользователь
 
Регистрация: 09.01.2014
Сообщений: 11
По умолчанию Задачи на обработку одномерных массивов (помогите решить все на паскале )

16. Написать программу, которая вводит элементы массива из n чисел, переставляет элементы массива так, чтобы первым элементом массива стал максимальный элемент, а затем выводит элементы преобразованного массива на одну строку экрана.
--- --- --- --- --- --- --- --- --- --- --- --- ---
17. Написать программу, которая вводит элементы массива из n чисел, выводит элементы массива на одну строку экрана, а затем вычисляет количество минимальных положительных элементов.
--- --- --- --- --- --- --- --- --- --- --- --- ---
18. Написать программу, которая вводит элементы массива из n чисел, выводит элементы массива на одну строку экрана, а затем вычисляет количество четных положительных элементов.

19. Написать программу, которая вводит элементы массива из n чисел и вычисляет сумму тех элементов, которые отличаются от среденого арифметического всех элементов не более чем на 1.
Жаннулька вне форума Ответить с цитированием
Старый 20.01.2014, 21:07   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Что уже получилось? Какие наработки? Что конкретно не получается?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 20.01.2014, 21:19   #3
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

№19..
А можно за один проход?
Poma][a вне форума Ответить с цитированием
Старый 20.01.2014, 21:22   #4
Жаннулька
Пользователь
 
Регистрация: 09.01.2014
Сообщений: 11
По умолчанию

да все не получается...а на завтра это надо
Жаннулька вне форума Ответить с цитированием
Старый 20.01.2014, 21:26   #5
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Poma][a, пока все элементы не введены, мы не знаем среднего арифметического и не можем принять решения о суммировании текущего элемента. Можно считать все возможные суммы из уже введенных элементов или рекурсивно вводить элементы, а при выходе из рекурсии считать сумму, но это только усложнит, на мой взгляд, задачу и не даст никакого профита.
Жаннулька, Вы можете ввести массив из n элементов? Это как раз основа для всех четырех программ (считай 50% от каждой сделано будет ). Докажите, что не зря пошли на физмат
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 20.01.2014 в 21:29.
BDA вне форума Ответить с цитированием
Старый 20.01.2014, 22:32   #6
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Цитата:
но это только усложнит, на мой взгляд, задачу
в этом и фишка.. Спасибо за идею..
Poma][a вне форума Ответить с цитированием
Старый 20.01.2014, 23:59   #7
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

19.
Код:
var  s,sr : integer;
procedure sredn(n, k: integer; var sum,sred :integer);
var c : integer;
begin
  write( ' k[',n,'] = ' );  readln(c);
  sum := sum +c;
  if n < k then  sredn(n + 1, k, sum,sred)
  else 
    begin
      sred := sum;  
      sum := 0;
    end;
  if (c >= sred / k - 1) and (c <= sred/k + 1) then  sum := sum + c;
  if n = 1 then  writeln ('summa = ',sum);
end;
begin
  s := 0;  sr := 0;
  sredn(1,5,s,sr); //первый параметр изначально 1 по умолчанию, второй - количество элементов
end.
если у кого будут идеи как оптимизировать - буду рад выслушать, попытаюсь еще через функции покрасивше сделать что-либо...
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 21.01.2014, 06:54   #8
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

http://ideone.com/wEQWZp
Poma][a вне форума Ответить с цитированием
Старый 21.01.2014, 10:11   #9
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
откомпилил на компе, все норм:
Цитата:
k[1] = 1
k[2] = 1000
k[3] = 1000
k[4] = 1000
k[5] = 3
summa = 0
upd
нашел причину, http://ideone.com/5SZFAR , ввод не в строчку, а "столбик"... т.к. readln стояло)))

upd2
http://ideone.com/7RCBC2 вродь все работает, тут среднее 5.5, в итоге сумма из 5 и 6...
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 21.01.2014 в 10:28.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 21.01.2014, 10:50   #10
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Вот ТС обрадуется - есть решение для одной из задач, которое ТС в жизни не поймет, да и самим авторам через месяц нужно будет усилия приложить, что бы понять - а что же они наваяли
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачи на обработку одномерных массивов Янка88 Паскаль, Turbo Pascal, PascalABC.NET 3 19.12.2013 17:14
Pascal. 3 задачи на обработку массивов ( помогите иначе не допустят к экзамену( ) mixa26 Помощь студентам 4 03.12.2013 15:55
Решить в Паскале с использованием одномерных массивов Юююлия Помощь студентам 2 19.10.2011 19:06
задачи на обработку массивов bighunter Паскаль, Turbo Pascal, PascalABC.NET 2 09.10.2011 19:58
Обработка одномерных и двухмерных массивов. (Задачи в Паскале) SlimSenSeLesS Помощь студентам 4 31.03.2011 15:12