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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2010, 12:44   #1
mastar
Пользователь
 
Регистрация: 04.04.2010
Сообщений: 18
По умолчанию Не могу въехать в алгоритм преобразования массива

Массив K = (5, –5, 4, 9, –7, –11, 0) преобразован к виду K = (0, 1, 0, 0, –1, –5, 0). Размер массива K - 21 элемент из диапазона [–56,56]. Вычислить сумму тех элементов преобразованного массива, которые находятся в диапазоне [–1, 16].
И так и этак кручу мозгами, а сообразить не могу, если кто-нибудб может проверить правильность остального - буду очень признателен

uses crt;
const kol_el=21;
type mas=array[1..kol_el]of integer;
var k: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
if (b[i]>=-1) and (b[i]<=16) then s:=s+b[i];
sum:=s;
end;
var i:integer;
begin
clrscr;
Randomize;
for i:=1 to kol_el do begin
k[i]:=random(113)-56;
write(k[i]:4);
end;
preobr(k);
writeln;
writeln;
for i:=1 to kol_el do
write(k[i]:4);
writeln;
writeln;
write('Summa elementov =', Sum(k));
readln;

Последний раз редактировалось mastar; 04.04.2010 в 19:55. Причина: опечатка в названии темы
mastar вне форума Ответить с цитированием
Старый 05.04.2010, 05:02   #2
mastar
Пользователь
 
Регистрация: 04.04.2010
Сообщений: 18
По умолчанию

Неужели такой сложный вопрос?
mastar вне форума Ответить с цитированием
Старый 05.04.2010, 05:25   #3
Google2010
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 316
По умолчанию

Те которые больше 0 заменяешь на 0, все что меньше 0 увеличиваеш на 6
Google2010 вне форума Ответить с цитированием
Старый 05.04.2010, 05:29   #4
CodeExpert
Заблокирован
 
Регистрация: 30.10.2009
Сообщений: 468
Радость

PHP код:
uses crt;
const 
kol_el=21;//кол-во элементов
type mas=array[1..kol_el]of integer;//массив
var k:mas;
{
процедура преобразования}
Procedure preobr(var a:mas);
var 
i:integer;//счетчик
begin
for i:=1 to kol_el do begin
 
if a[i]>=0 then a[i]:=0;
 if 
a[i]<0 then a[i]:=a[i]+6;end;
end;

Function 
Sum (b:mas):integer;
var 
i,s:integer;
begin
s
:=0;
for 
i:=1 to kol_el do
if 
b[iin [-1;16then s:=s+b[i];
sum:=s;
end;

var 
i:integer;
begin
clrscr
;
Randomize;
for 
i:=1 to kol_el do begin
k
[i]:=random(113)-56;
write(k[i]:4);
end;
preobr(k);
writeln;
writeln;
for 
i:=1 to kol_el do
write(k[i]:4);
writeln;
writeln;
write('Summa elementov ='Sum(k));
readln;
end
CodeExpert вне форума Ответить с цитированием
Старый 05.04.2010, 10:11   #5
mastar
Пользователь
 
Регистрация: 04.04.2010
Сообщений: 18
По умолчанию

CodeExpert, СПАСИБО!
Ты настоящий друг!
Я голову сломал, извилины какие то перемкнули наверное
mastar вне форума Ответить с цитированием
Старый 05.04.2010, 18:21   #6
mastar
Пользователь
 
Регистрация: 04.04.2010
Сообщений: 18
По умолчанию

Эта строка не работает
if b[i] in [-1??????;16] then s:=s+b[i];
mastar вне форума Ответить с цитированием
Старый 05.04.2010, 19:37   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

я бы не мудрил с множествами и написал так:
Код:
if (b[i]>=-1) and (b[i]<=16) then s:=s+b[i];

Последний раз редактировалось Serge_Bliznykov; 05.04.2010 в 19:40.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.04.2010, 20:16   #8
mastar
Пользователь
 
Регистрация: 04.04.2010
Сообщений: 18
По умолчанию

Я так и сделал...
Спасибо , ребята!
mastar вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу получить элементы массива. Help!!! C++/CLR i-cpp Общие вопросы .NET 1 06.12.2009 23:58
Алгоритм сортировки одномерного массива JOFRIF Общие вопросы C/C++ 4 19.07.2009 17:23
Не могу всё никак не могу эту лабораторку сдать помогите плиз Dimon.ru Паскаль, Turbo Pascal, PascalABC.NET 2 16.06.2009 20:53
Алгоритм "перемешивания" массива в Delphi MusicMan Помощь студентам 4 26.04.2008 21:06
Не могу выделить память для трёхмерного массива Blister Помощь студентам 3 19.12.2007 07:25