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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2009, 22:25   #1
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию Объясните задачу (Delphi)

В общем нужно решить задачу на многомерные массивы:

Даны действительные числа a1,...a20. Получить числа b1,...b20, где bi - среднее арифметическое всех членов последовательности a1,..a20, кроме ai (i=1, 2,...,20).

Вот.
В общем программа должна быть через обычное Application. Только одно НО: числа должны вводиться вручную.
Проблема в том, что не могу понять до конца смысл задачи, и в связи с этим весьма смутные представления о её решении.
Sianessa вне форума Ответить с цитированием
Старый 05.04.2009, 22:53   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Ну пусть есть массив a, забитый числами от 1 до 20.
Каждый член b[i] равен среднему арифметическому массива a, но без члена a[i].
То есть b[3] равен (1+2+4+5+6+...+20)/19;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 05.04.2009, 23:04   #3
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

Sazary, э-э...
Ну я как бы понимаю, а как сие в виде цикла то записать? делиться то всегда будет на 19?
И прописывать то надо будет с помощью переменных и цикла... И я как-то слабо себе это представляю... Цикл как я понимаю, for...?
Sianessa вне форума Ответить с цитированием
Старый 05.04.2009, 23:07   #4
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

всегда на 19, т.к. один элемент исключается... Может что-то вроде такого..
Код:
for i:=1 to 20 do begin
   for j:=1 to 20 do 
      if (i<>j) then b[i]:=b[i]+a[j];
   b[i]:=b[i]/19;
end;
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.04.2009, 23:08   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Примерно так:
Код:
for i:=1 to n do
 begin
 b[i] := 0;
 for j:=1 to n do
  if j<>i then b[i] := b[i] + a[j];
 b[i] := b[i]/(n-1);
 end;
Опоздал чуток.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 05.04.2009 в 23:22. Причина: опечатка. Спс __STDC__
Sazary вне форума Ответить с цитированием
Старый 05.04.2009, 23:11   #6
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

да, у Sazary более правильный вариант, у меня для жестко фиксированного кол-ва эл-тов...
Только там не a[i], а a[j]
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.04.2009, 23:15   #7
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

__STDC__, Sazary, спасибо, картина уже намного яснее
Ушла писать код...
Далеко не уходите
И... Не могли бы вы подсказать, как можно сделать ввод чисел вручную?
Sianessa вне форума Ответить с цитированием
Старый 05.04.2009, 23:16   #8
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

в делфи или паскале?
если консольная программа то read или readln...
Код:
for i:=1 to 20 do
   readln(a[i]);
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 05.04.2009, 23:24   #9
Sianessa
Форумчанин
 
Регистрация: 18.01.2009
Сообщений: 144
По умолчанию

Неет... В Delphi.
Через обычную стандартную Form1 типа Application.
Кароче нужна функция на подобие бэйсиковского InputBox... наверное...
В общем все элементы должны вводиться вручную...
А потом выводиться обе последовательности =__= на подобие MsgBox...
Бэйсик я ещё нормально более ли менее понимаю, а вот с Делфи сейчас какие-то траблы пошли...
Sianessa вне форума Ответить с цитированием
Старый 05.04.2009, 23:28   #10
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

А нельзя с этого.. как его... TextEdit`a что ли вводить? там поле такое... я честно говоря в делфи уже не работаю несколько лет, не помню как там называются компоненты)) Такое поле для ввода и кнопку...
Uguu~
__STDC__ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача в Delphi. Объясните смысл! Sianessa Помощь студентам 13 31.03.2009 22:11
Объясните delphi (inc) Neymexa Помощь студентам 5 27.01.2009 16:30
Бд в Delphi,объясните плиз RamireZ БД в Delphi 1 21.10.2008 23:58