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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2011, 10:46   #1
Idealist 2012
 
Регистрация: 16.12.2011
Сообщений: 9
Счастье Поиск мин числа без массива

Есть задача: написать программу (на паскале) поиска минимального числа(в последовательности вводимой с клавиатуры) сумма цифр которого больше заданного числа (вводимого с клав.). Использовать массивы как я понял запрещено. Вопрос в том как найти минимальное число?(t)...))

Часть программы:

Код:
program lab3;
var a,b,n,z,y,t:integer;
const i=1;
label rto;

  function sum(n:integer):integer;
  var f:integer;
  begin
    f:=0;
    while n>0 do
      begin
       f:=f+(n mod 10);
       n:=n div 10;
      end;
    sum:=f;
  end;

begin
 y:=0;
 z:=0;
 writeln('Введите число:');
 readln(b);
 writeln('Введите последовательность:');
 while i=1 do
  begin
   z:=z+1;
   write(z,'=');
   readln(a);
     if a=0 then goto rto;
   writeln('Сумма цифр числа ',z,'=',sum(a));
     if sum(a)>b then



  end;
  rto:
  writeln(t);
end.
Idealist 2012 вне форума Ответить с цитированием
Старый 16.12.2011, 10:53   #2
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Код:
     if sum(a)>b then
if a<min then min:=a;
перед этим в качестве min присвоить какое нибудь огромное число)
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 16.12.2011, 10:54   #3
Idealist 2012
 
Регистрация: 16.12.2011
Сообщений: 9
По умолчанию

И ещё пару задач (свои наработки я в гневе стёр...))):

1)Найти произведение чисел, которые не превосходят 4000 и являются полными квадратами некоторого натурального числа. В программе обязательно применение процедур и/или функций с передаваемыми параметрами. Не допускается использование типа string и array.

2)Вычислить количество арифметических прогрессий с заданным приращением М, состоящих не менее чем из трех подряд расположенных элементов. Порядок расположения элементов в массиве менять нельзя. Для каждой обнаруженной прогрессии напечатать номера входящих в нее элементов. Использование дополнительных массивов запрещено. В программе обязательно при¬менение процедур и/или функций с передаваемыми параметрами.

Пишите свои мысли-программы, буду благодарен...
Idealist 2012 вне форума Ответить с цитированием
Старый 16.12.2011, 10:59   #4
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

1)
Код:
var s:longint;
function IsGood(n:integer):boolean;
var t:real;
begin
 t:=sqrt(n);
 isGood:=(t-trunc(t)=0 );
end;

procedure CalcSum(var Summ:longint);
var i:integer;
begin
summ:=0;
for i:=1 to 4000 do if isgood(i) then summ:=summ+i;
end;

begin
CalcSum(s);
writeln (s);
end.
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 16.12.2011, 11:06   #5
Idealist 2012
 
Регистрация: 16.12.2011
Сообщений: 9
По умолчанию

Спасибо, всё довольно просто, даже для меня))
Idealist 2012 вне форума Ответить с цитированием
Старый 16.12.2011, 12:40   #6
Idealist 2012
 
Регистрация: 16.12.2011
Сообщений: 9
По умолчанию

Для 1(2) задачи немного другая программа:

Код:
program lab2;

var s,x,i,summ:longint;
const k=1;
label rto;

  function Good(n:integer):boolean;
  var t:real;
  begin
    t:=sqrt(n);
    Good:=(t-trunc(t)=0);
  end;


begin
summ:=1;
  while k=1 do
    begin
       readln(s);
         if s=0 then goto rto;
       if s<4000 then;
       if good(s)=true then
            begin
             summ:=summ*s;
             x:=summ;
            end;
    end;
rto:
writeln(x);
end.
Idealist 2012 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
без массива определить сколько положительных чисел встречается до первого отрицательного числа narco3 Помощь студентам 1 02.10.2011 12:05
C++ поиск макс и предмакс числа(без массива) Donatello Общие вопросы C/C++ 10 29.12.2010 17:59
нахождение мин и макс числа Данил1986 Паскаль, Turbo Pascal, PascalABC.NET 3 07.06.2010 05:46
поиск мин. элемента массива lg12 Помощь студентам 1 10.07.2009 15:07
поиск мин., удаление эл-ов массива Dmitrич Общие вопросы C/C++ 2 01.06.2009 13:31