Модераторы: volvo877, Snowy, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подчитать сумму цифр числа 
:(
    Опции темы
HAS
Дата 17.3.2005, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



Здравствуйте, помогите пожалуйста решить эту задачу на паскале, получается найти 1 и последнюю цифру а остальные никак, думаю что надо циклом пройти по всем цифрам и складывать их, но никак не получается, помогите пожалуйста.

Посчитать сумму цифр числа

Вводится число. Вывести сумму его цифр

Пример входного файла
1571

Пример выходного файла
14

PM MAIL   Вверх
sergejzr
Дата 17.3.2005, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Бери же последнюю, а потом дели число на 10 smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
HAS
Дата 17.3.2005, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



Блин ты не можешь кинуть исходник, а то просто pascal не моя стихия, на vb это былобы не проблемно ! smile
PM MAIL   Вверх
sergejzr
Дата 17.3.2005, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Нет паскаль это не моя стихия тоже. А дельфи из за 3 строк ставить влом smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
мимо проходил
Дата 17.3.2005, 20:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

const n=10;
var
i,sum:integer;
a:array [1..10] of integer;
begin
sum:=0;

for i:=1 to n do
a[i]:=random(100);
for i:=1 to n do
sum:=sum+a[i];
read(sum);//в дельфи знаю как вывести, а в паскале так вроде

end;

  Вверх
Marriage
Дата 17.3.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 4.5.2004
Где: Таганрог

Репутация: нет
Всего: 2



А разве функций перевода числа в строку и обратно нет ???


--------------------
Praemonitus, praemunitus
PM MAIL ICQ   Вверх
мимо проходил
Дата 17.3.2005, 20:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
Бери же последнюю, а потом дели число на 10


smile
  Вверх
Guest
Дата 17.3.2005, 20:41 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
А разве функций перевода числа в строку и обратно нет ???

нет

Цитата
read(sum);


да и вместо read нужно write
  Вверх
HAS
Дата 17.3.2005, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ing
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 1.3.2005
Где: Internet

Репутация: нет
Всего: 2



smile не совсем то что нужно !

Это сообщение отредактировал(а) HAS - 17.3.2005, 21:15
PM MAIL   Вверх
sergejzr
Дата 17.3.2005, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Цитата
Цитата(sergej @ 17.3.2005, )
Бери же последнюю, а потом дели число на 10



--Resize_Images_Alt_Text--


А чего смешного, можно спросить? Ваш код выводит сумму чисел массива. Зацепка только в том, что в таком виде числа обычно не лежат. К нему надо их приводить, а делается это именно делением на 10. Вернее модулом.
Вот код на Си:

Код

int sum(int number)
{
  int sum=0;
   while(number>0)
   {
     sum+=number%10;
     number/=10;
   }
  return sum;
}


Если Вы знаете более оптимальный способ преобразования - поделитесь плиз smile
А то так вообще непонятно, зачем собирать массив в Вашем примере smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 17.3.2005, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



Вот от балды на дельфи smile
Код

function sum(number:Integer):Integer
 var
  sum:Integer;
sum:=0;
 begin
  while(number>0) do 
  begin
      sum:=sum+(number mod 10);
      number:=number/10;
  end;
  Result:=sum;
end;



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
мимо проходил
Дата 17.3.2005, 21:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
А то так вообще непонятно, зачем собирать массив в Вашем примере

окей,
Код

var
sum,i:integer;

begin
sum:=0;
for i:=1 to 10 do
sum:=sum+random(100);
caption:=inttostr(sum);
   end;


а представь плиз, свой код в дельфи smile

  Вверх
мимо проходил
Дата 17.3.2005, 21:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(sergej @ 17.3.2005, 21:08)
Вот от балды на дельфи smile
Код

function sum(number:Integer):Integer
 var
  sum:Integer;
 begin
  while(number>0) do 
  begin
      sum:=sum+(number mod 10);
      number:=number/10;
  end;
  Result:=sum;
end;

а ещё говорят здесь телепатов нет smile
  Вверх
мимо проходил
Дата 17.3.2005, 22:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
А чего смешного, можно спросить?

а кстати, извини, ни хрена смешного в этом нет, перезанимался я smile
  Вверх
sergejzr
Дата 17.3.2005, 22:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: нет
Всего: 360



smile Регистрируйся, мы всегда рады новым лицам smile


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.