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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2011, 15:31   #1
amm
 
Регистрация: 15.12.2010
Сообщений: 5
По умолчанию 1-мерный массив: суммирование подряд идущих элементов 1 знака

Возникли сложности над фрагментом программы, а именно:

Преобразовать одномерный массив по правилу:
суммируются подряд идущие значения одного знака, а вместо группы нулей записывается один ноль. Например:
ввод: 20 10 4 -1 -2 0 0 0 -10 41 62
результат: 34 -3 0 -10 103

как реализовать?
amm вне форума Ответить с цитированием
Старый 14.09.2011, 16:03   #2
VKorablev
Форумчанин
 
Аватар для VKorablev
 
Регистрация: 14.04.2011
Сообщений: 126
По умолчанию

язык какой? хотя судя по заданию походу лисп?)
Нам больше не нужно смотреть на мир сквозь замочную скважину 64Кб сегмента (с) ВалИк
VKorablev вне форума Ответить с цитированием
Старый 14.09.2011, 16:11   #3
alexdelphi
Пользователь
 
Регистрация: 24.08.2011
Сообщений: 40
По умолчанию

если значения одного знака, то они положительны
alexdelphi вне форума Ответить с цитированием
Старый 14.09.2011, 18:00   #4
amm
 
Регистрация: 15.12.2010
Сообщений: 5
По умолчанию

Цитата:
Сообщение от VKorablev Посмотреть сообщение
язык какой? хотя судя по заданию походу лисп?)
Паскаль) .
amm вне форума Ответить с цитированием
Старый 14.09.2011, 18:08   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от alexdelphi Посмотреть сообщение
если значения одного знака, то они положительны
Это почему же?

Контрпример: значния -1, -2, -4, -8, -16.... Они ОДНОГО знака. Но они отрицательны.
Вадим Мошев вне форума Ответить с цитированием
Старый 14.09.2011, 19:53   #6
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
Var
  Mas1,Mas2:array[1..10] of Integer;
  i,j,k:Byte;
  SumP,SumO:Integer;
begin
  Randomize;
  For i:=1 to 10 do
  Begin
    Mas1[i]:=-20+Random(40);
    Write(Mas1[i]:4)
  End;
  Writeln;
  i:=1;
  j:=1;
  SumO:=0; 
  SumP:=0;  
  While i <= 10 do
  Begin
    If Mas1[i] > 0 then 
    Begin
      SumP:=0;
      While (Mas1[i] > 0) and (i <= 10) do   
      Begin
        SumP:=SumP+Mas1[i];  
        inc(i)            
      End;
      Mas2[j]:=SumP;     
      inc(j)
    End;
    If Mas1[i] < 0 then  
    Begin
      SumO:=0;
      While (Mas1[i] < 0) and ( i <= 10) do
      Begin
        SumO:=SumO+Mas1[i];                
        Inc(i)
      End;
      Mas2[j]:=SumO;    
      inc(j)
    End
    Else
    If Mas1[i] = 0 then    
    Begin
      Mas2[j]:=0;         
      inc(j);
      While (Mas1[i] = 0) and ( i <= 10) do Inc(i)      
    End;
  End;
  For i:=1 to j-1 do
  Write(Mas2[i]:4);
  Readln
End.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Старый 14.09.2011, 19:54   #7
amm
 
Регистрация: 15.12.2010
Сообщений: 5
По умолчанию

спасибо огромное!
amm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В массиве из n элементов подсчитать количество четырёд идущих подряд одинаковых элементов ( Delphi7 ) Анастасья Помощь студентам 1 31.03.2011 19:23
Записать в массив Z подряд семь нулевых элементов массива R,состоящего из N элементов.(Язык QBasic) Лиза) Помощь студентам 0 11.01.2011 16:02
Максимальное кол-во подряд идущих элементов одн. массива cheef Паскаль, Turbo Pascal, PascalABC.NET 6 17.06.2010 13:17
Массив чисел (найти 4 идущих подряд чётных числа) SeregaKo Общие вопросы Delphi 2 18.05.2009 23:09
найти подпоследовательность из подряд идущих элементов с наибольшей суммой на С++ aj_tramp Помощь студентам 2 12.12.2008 08:57