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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2009, 19:10   #1
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
Восклицание Pascal-массивы

Добрый день помогите пожалуйста решить задачи по лаб. работе до завтра.

В одномерном массиве, состоящем из n вещественных элементов,
вычислить:
1) сумму элементов массива с нечетными номерами;
2) сумму элементов массива, расположенных между первым и последним
отрицательными элементами.
Сжать массив, удалив из него все элементы, модуль которых не превышает
единицу. Освободившиеся в конце массива элементы заполнить нулями
Айдар вне форума Ответить с цитированием
Старый 20.10.2009, 19:58   #2
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
По умолчанию

Задача вроде банальная. Что не получается? Есть наработки какие? Или проблема с алгоритмом?
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 20.10.2009, 20:10   #3
Айдар
Форумчанин
 
Регистрация: 20.06.2009
Сообщений: 195
По умолчанию

Знаешь наработок нету, я был бы благодарен тебе если бы ты мне написал основные коды программ (тело)
Айдар вне форума Ответить с цитированием
Старый 20.10.2009, 20:15   #4
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

Вот решение на паскале:
Код:
program masiv;
const n=1000;
var
a:array[1..n] of integer;
b:array[1..n] of integer;
S1,S2:integer;
i,l,i1otr,i2otr:integer;
begin
{я считаю что уже есть некий загруженный массив а, напишеш загрузку его из файла или просто, сам}

for i:=1 to n do
 begin
  if (a[i] mod 2) <>0
  then
   s1:=s1+a[i];

   if i1otr=0 then
    if a[i]<0 then i1otr:=i;

   if a[i]<0 then i2otr:=i;

 end;

for i:=i1otr to i2otr do
s2:=s2+a[i]; //сумма между 1 и последним отрицательным элементом массива, с учетом этих элементов, если же нужно без учёта этих элементов то вместо for i:=i1otr to i2otr do пиши
(for i:=i1otr+1 to i2otr-1 do)



for i :=1 to n do
if abs(a[i])>1
then
 begin
  l:=l+1;
  b[l]:=a[i];
 end;

for i:=l to n do
b[i]:=0;

writeln('symma s nechetnumi nomerami=',s1);
writeln('symma mejdy 1 i 2 otricateljnum elementami=',s2);
for i:=1 to n do
writeln('b[',i,']=',b[i]); //вывод сжатого массива

end.

Последний раз редактировалось Deamonig; 21.10.2009 в 15:26.
Deamonig вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массивы (pascal) Стасссс Помощь студентам 9 20.02.2010 17:14
Массивы [pascal] Rulyas Помощь студентам 14 10.09.2009 00:12
Pascal: массивы Juventus91 Помощь студентам 2 06.09.2009 14:21
Pascal. Массивы. Help. adelaida Помощь студентам 11 24.11.2008 17:02