IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Получить отрицательную сумму, Задача (1 курс)
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


Сегодня мне была дана задачка:
Написать программу получения из N чисел (N=10) вводимых с клавиатуры получить отрицательную сумму.
Знакома я с паскалем всего два часа мне он понравился, не судите строго меня за мою примитивность просто я его очень мало знаю и написала как знаю. Скажите верна ли такая программка при данном условии.
Код

uses crt;
var
n,n1,n2,n3,n4,n5,n6,n7,n8,n9,x,x1;longint;
begin
write('n,n1,n2,n3,n4,n5,n6,n7,n8,n9=');
readln(n,n1,n2,n3,n4,n5,n6,n7,n8,n9);
x:= n+n1+n2+n3+n4+n5+n6+n7+n8+n9;
writeln('n+n1+n2+n3+n4+n5+n6+n7+n8+n9=',x)
x1:= x*-1;
writeln('x*-1=',x1);
end.


Я раньше нигде не програмировала, так что тут все мои знания за два часа по Фаронову.
Правильно ли решена задача?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А нужно будет 20 чисел? Еще 10 переменных добавишь? smile.gif

Между тем, достаточно всего одной:

var
i: integer;
X, sum: integer;
begin
sum := 0;
for i := 1 to 10 do begin
readln(X);

{ Я, например, понимаю так, что тебе нужна сумма отрицательных элементов }
if X < 0 then sum := sum + X;
end;

writeln('sum = ', sum);
end.


если мое предположение относительно отрицательной суммы неправильно - говори, переделаем smile.gif ...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


Как я поняла - i - у тебя выступает в роли колл-ва переменных, это верно, но я не пойму где у тебя написано значение икса выходит я сразу ввожу значение икса вроли уже известной мне сумму и если число отрицательное, программа складывает его с числом 0 что выводит его в виде отрицательного значение, но мне нужно еще и вводить значения самих чисел из которых выйдет эта сумма. или я может чего то не понимаю wacko.gif

Поняла всё)))) легче было бы сделать не: если бы икс был меньше 0, а оставить любое значение, а просто
обозначить
Код
sum:= (sum+X)*-1


так было бы намного легче думаю

не не так
Вот так
Код

readln(x);
sum: sum+x;
writeln('sum=',sum*-1)


Так точно верно выдаст)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


Я совсем запуталась)))
написала так:
Код

uses crt;
var
i:integer;
x,sum:integer;
begin
sum:=0;
for i:= 1 to 10 do begin
readln(x);
if x<0 then
sum:= sum+x;
writeln('sum=',sum);
if x>0 then
sum:= sum+x*-1;
end;
writeln('sum=',sum);
end.


Получается всё то что я хотела но совсем каким то другим мне не понятным путем. Вводя любые числа будь то 50+(-40)+90+(-120) и т.д. выходит отрицательное число и все положительные цифры что я ввожу записываются как отрицательные.
Точно я где то допустила ошибку, но я паскаль то знаю всего ничего один день.
Вольво если не трудно поясни в чём проблема((
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Теперь ты и меня запутала... Вот при таком вводе:
Цитата
50+(-40)+90+(-120)
что ты хочешь получить в результате?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


странно но получается -300, т.е. что ни вводи получится их модульное сложение и в итоге сумма с минусом


lol.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Я не спрашиваю, что получается. Я спрашиваю, что ДОЛЖНО получиться в соответствии с твоим заданием.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


Из вводимых чисел должна получится сумма выраженая отрицательным числом.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Ты САМО число напечатать можешь, или это военная тайна?

Тогда извини...

nea.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10





Группа: Пользователи
Сообщений: 7
Пол: Женский
Реальное имя: Диана

Репутация: -  0  +


А ты про это, извини не поняла))
там нет ответа, просто из вводимых чисел должна получаться сумма выраженая отрицательным числом.
Вся задача в том что надо написать программку было.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


нельзя же писать программу, не зная, что хочешь от нее получить smile.gif
как ты сможешь проверить, правильно ли она работает?
можешь привести пример вводимых чисел и результата, который ДОЛЖЕН получиться на этих числах?
а то формулировка задания не совсем ясна.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 20.11.2017 20:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"