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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 28.11.2013, 19:44   #1
ArturNeo
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 2
Восклицание Задача по одномерным массивам

Суммировать числа из массива до тех пор, пока не встретиться число 2. Вывести получившуюся сумму. Если двойка не встретилась вывести текст «Двойки нет».
Например, если А={7,4,-3,2,5,-2,1}, результат: 7+4-3=8.

Сделал вывод массива и ее сумма. Как сделать чтобы сумма высчитывалось до 2?????Знаю что подобная задача есть решенная на рунете, но на паскале её нет!

Код:
program zafanie4v6;
var
a: array[1..10] of integer;
i,sum: integer;
begin
randomize;
sum:=0;
writeln;
writeln;
write('[');
for i:=1 to 10 do
    begin
    a[i]:=random(20)-10;
    write(a[i], ' ');
    sum:=sum+a[i];
    end;
writeln(']');
write('Summa: ',sum);
end.


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 28.11.2013 в 23:04.
ArturNeo вне форума
Старый 28.11.2013, 20:08   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Код:
Sum:=0;
For i:=1 to n do
  If a[i]=2 then 
     Break
   Else
      Sum:=sum+a[i];
Уберите из заполнения массива подсчет суммы. Нужно отдельно считать.
ZX Spectrum-128 вне форума
Старый 28.11.2013, 20:12   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

В цикле for используйте if a[и]=2... и Break
Или вместо for испльзйте while или repeat
type_Oleg вне форума
Старый 28.11.2013, 20:17   #4
ArturNeo
Новичок
Джуниор
 
Регистрация: 28.11.2013
Сообщений: 2
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Код:
Sum:=0;
For i:=1 to n do
  If a[i]=2 then 
     Break
   Else
      Sum:=sum+a[i];
Уберите из заполнения массива подсчет суммы. Нужно отдельно считать.
Как все просто оказалось! Спасибо за помощь!
ArturNeo вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по одномерным массивам.(найти ошибку) RockFeller Паскаль, Turbo Pascal, PascalABC.NET 6 06.12.2012 13:52
по паскалю по одномерным массивам zizu Помощь студентам 10 16.12.2009 00:43
Задача по одномерным массивам(паскаль) pupik100 Помощь студентам 2 23.10.2009 16:32
Задача к одномерным массивам. kry Паскаль, Turbo Pascal, PascalABC.NET 2 29.12.2008 09:57