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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 19:30   #1
serr92
 
Регистрация: 25.12.2008
Сообщений: 3
Вопрос Задача на тему Алгоритмы-функции в паскале

Уважаемые форумчане, программисты))) Семестр подошел к концу, а значит контрольные и зачеты уже идут полным ходом. Вот и у меня завтра будет зачет по информатике.
Дабы не ухудшить свое положение мне завтра нужно сдать решенные задачи (программы). Сегодня я сел решить эти задачи (протянул потому что думал что справлюсь за один день) - четыре решил, а пятая никак не поддаётся! Прошу, помогите!

Задача:
Даны три произвольных натуральных числа. Найти такое, у которого наименьшая сумма цифр. Использовать алгоритм-функцию нахождения суммы цифр в записи натурального числа. Составить алгоритм и программу на Паскале.
serr92 вне форума Ответить с цитированием
Старый 25.12.2008, 19:37   #2
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
var a,b,c:integer;
    min:integer;
function Sum(x:integer):byte;
var s:string;
    i,j,code:integer;
    y:byte;
begin
Str(x,s);
y:=0;
for i:=1 to length(s) do
 begin
  val(s[i],j,code);
  y:=y+j;
 end;
 Sum:=y;
end;

begin
readln(a);
min:=a;
readln(b);
if Sum(min)>Sum(b) then min:=b;
readln(c);
if Sum(min)>Sum(c) then min:=c;
writeln('Min ',min);
end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:39   #3
serr92
 
Регистрация: 25.12.2008
Сообщений: 3
По умолчанию

alex_fcsm, что это такое?

Цитата:
length(s) do
begin
val(s[i],j,code);
Цитата:
var s:string;
i,j,code:integer;
y:byte;
Мы такоего не проходили...
serr92 вне форума Ответить с цитированием
Старый 25.12.2008, 19:42   #4
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
for i:=1 to length(s){возвращает длину слова} do
 begin
  val(s[i],j,code);{переводит s[i] в integer}
  y:=y+j;
 end;
Ну если не проходили. то считайте сумму через div и mod

P.S. После первого семестра не пройти string,length O_o
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Старый 25.12.2008, 19:46   #5
serr92
 
Регистрация: 25.12.2008
Сообщений: 3
По умолчанию

alex_fcsm, я учусь в техникуме и думаю что это нормально, а может мы просто отстаем... а это уже плохо((
А не подскажите как сумму через див и мод искать???)))))
serr92 вне форума Ответить с цитированием
Старый 25.12.2008, 20:01   #6
alex_fcsm
Участник клуба
 
Аватар для alex_fcsm
 
Регистрация: 10.11.2008
Сообщений: 1,502
По умолчанию

Код:
var i:integer;
    p,y:integer;
    
    begin
    p:=543;
    while p<>0 do
     begin
      y:=p mod 10;
      i:=i+y;
      p:=p div 10;
     end;
     writeln(i);
    end.
Нормальное состояние техники - нерабочее, все остальное частный случай.
alex_fcsm вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++задача на лин и разв алгоритмы pymba Помощь студентам 2 15.12.2008 17:57
Задача на тему Записи leoneedka Паскаль, Turbo Pascal, PascalABC.NET 2 20.11.2008 21:50