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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.01.2010, 13:06   #1
0001
 
Регистрация: 17.01.2010
Сообщений: 6
По умолчанию Сумма элементов преобразованного массива

TURBO PASCAL .Массив L = (–2, 6, –8, 9, –5, 12, 0) преобразован к виду L = (1, 9, –5, 12, –2, 15, 3). Размер массива L - 36 элементов из диапазона [–31,31]. Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–8, 25]. а как вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–8, 25]?спасибо
Код:
uses crt;
const kol_el=36;
type mas=array [1..kol_el] of integer;
var T:mas;
Procedure Preobr(var a:mas);
var i:integer;
begin
for i:=1 to kol_el do
a[i]:=a[i];
end;
Function Sum(b:mas):integer;
var i,s:integer;
begin
s:=0;
for i:=1 to kol_el do
s:=s+b[i];
sum:=s;
end;
var i:integer;
Begin
clrscr;
Randomize;
for i:=1 to kol_el do begin
T[i]:=Random(63)-31;
write(T[i]:4);
end;
Preobr(T);
writeln;
writeln;
for i:=1 to kol_el do
write(T[i]:4);
write(#13,#10,#10,'Summa elementov=',Sum(T));
End.

Последний раз редактировалось Stilet; 18.01.2010 в 13:16.
0001 вне форума
Старый 18.01.2010, 13:10   #2
Сергeй
Заблокирован
 
Регистрация: 14.01.2010
Сообщений: 92
По умолчанию

Сделаю за 100 WMR
Сергeй вне форума
Старый 18.01.2010, 13:20   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
0001
Не ну вообще в цикле по массиву:
Код:
if T[i] in [–8, 25] then summ:=summ+T[i];
I'm learning to live...
Stilet вне форума
Старый 18.01.2010, 14:58   #4
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

я бы сделал так

заменил
Код:
for i:=1 to kol_el do
s:=s+b[i];
на

Код:
for i:=1 to kol_el do
  if (b[i]>=-8) and (b[i]<=25) then
    s:=s+b[i];
и ещё хочу обратить внимание что в вашей процедуре преобразования ровним счётом никаких преобразований не происходит. Массив остаётся такимже каким он был до.

А из вашего задания не доконца понятно как преобразовывать массив. (в примере вы добавляете число 3 к каждому элементу массива) Это чило постоянно и равно 3? или оно вычисляется?
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."

Последний раз редактировалось val_nnm; 18.01.2010 в 15:19.
val_nnm вне форума
Старый 18.01.2010, 15:44   #5
val_nnm
Форумчанин
 
Регистрация: 18.10.2009
Сообщений: 185
По умолчанию

Ну тогда очевидно по приведённому вами примеру к каждому элементу массива прибавляется число 3.

Тогда в вашем примере нужно заменить
Код:
a[i]:=a[i];
на

Код:
a[i]:=a[i]+3;
хотя вообще здесь возможно придумать бесконечное количество способов преобразования.
например можно к каждому элементу добавлять не просто число 3 а значение второго элемента разделённого на два. или например корень квадратный из четвёртого элемента. И.т.п.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает."
val_nnm вне форума
Старый 18.01.2010, 15:48   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
0001
Один вопрос - одна тема.
Перенес последний твой пост в новую тему, эту закрываю
I'm learning to live...
Stilet вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–1, 16] Mirel Паскаль, Turbo Pascal, PascalABC.NET 2 04.04.2010 10:58
Сумма элементов массива, имеющих четные номера. Андрей.12 Помощь студентам 1 28.12.2009 18:58
C++. сумма элементов массива BzDoN Помощь студентам 3 01.12.2009 07:04
Сумма и произведение элементов массива Zid@ne Общие вопросы C/C++ 5 23.12.2008 19:22
Сумма элементов массива, больших А Sultan Помощь студентам 1 21.04.2007 11:13