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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2009, 12:38   #1
LAM 757
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 13
Восклицание Одна задачка по Pascal

Уважаемые програмисты помогите пожалуйсто! только если не сложно. плиз напишите и начало программы. а то я вообще слабоват в Pascal...


Дано целое число K. Найти знакочередующуюся сумму цифр
числа К. (Пусть запись К в десятичной системе
есть a[n]...a[2] a[1] a[0];найти a[0]+a[1]+a[2]+...+a[n]).
LAM 757 вне форума Ответить с цитированием
Старый 04.11.2009, 12:45   #2
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Цитата:
найти a[0]+a[1]+a[2]+...+a[n]
Код:
program Project2;
var K,S:integer;
begin
write('K='); Readln(K);
S:=0;
while K<>0 do
 begin
  S:=S+(K mod 10);
  write('+',K mod 10);
  k:=K div 10;
 end;
write('=',S);
readln
end.
Цитата:
Найти знакочередующуюся сумму цифр: a[0]-a[1]+a[2]-...+a[n]
Код:
program Project2;
var K,S,i:integer;
begin
write('K='); Readln(K);
S:=0;
i:=0;
while K<>0 do
 begin
  if (i mod 2=0) then begin S:=S+(K mod 10); write('+',K mod 10); end
                 else begin S:=S-(K mod 10); write('-',K mod 10); end;
  inc(i);
  k:=K div 10;
 end;
write('=',S);
readln
end.
Жми на весы!!!

Последний раз редактировалось Chudo4258; 04.11.2009 в 12:50.
Chudo4258 вне форума Ответить с цитированием
Старый 04.11.2009, 16:25   #3
LAM 757
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 13
По умолчанию

Спасибо за помощь!! но есть ещё одно "но" ! вторая прога где надо Найти знакочередующуюся сумму цифр: a[0]-a[1]+a[2]-...+a[n],не запускается выдаёт ошибку "85 ”;” expected (Нужно указать”;”)." только вот я уже 10 раз проверил и не нашёл того места где пропушена ";"!! посмотрите пожалуйсто может прога не так написана!!
LAM 757 вне форума Ответить с цитированием
Старый 04.11.2009, 16:35   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
LAM 757
А у меня ничего не выдает. Все работает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.11.2009, 16:50   #5
LAM 757
Пользователь
 
Регистрация: 30.10.2009
Сообщений: 13
По умолчанию

блин,значит я такой кривой)) попробую переписать заного!!
LAM 757 вне форума Ответить с цитированием
Старый 02.12.2011, 03:16   #6
kiniovd
 
Регистрация: 25.05.2011
Сообщений: 3
По умолчанию

Код:
program Project2;
var K,S,i:integer;
begin
write('K='); Readln(K);
S:=0;
i:=0;
while K<>0 do
 begin
  if (i mod 2=0) then begin S:=S+(K mod 10); write('+',K mod 10); end
                 else begin S:=S-(K mod 10); write('-',K mod 10); end;
  inc(i);
  k:=K div 10;
 end;
write('=',S);
readln
end.
При всем уважении к труду автора кода, но данный код не совсем верен. Тут оговорка должна быть: он складывает знакочередующуюся сумму с конца числа, а это не каждый препод "понимает", так как преподу надо чтобы складываться начинало с начала числа...
kiniovd вне форума Ответить с цитированием
Старый 04.12.2011, 12:11   #7
kiniovd
 
Регистрация: 25.05.2011
Сообщений: 3
По умолчанию

Код:
program z86;
uses crt;
Var i, n, n1,a, s, k, znak :integer;
Ind:boolean;
temp:string;
begin
clrscr;
Ind:=true;
while Ind do
      begin
      writeln('BBeDuTe 4uclo n ');
      readln(n); n1:=n;
      k:=0; {количество цифр}
      while n1 <> 0 do
            begin
            k:=k+1;
            n1 := n1 div 10;
            end;
if k mod 2 = 0 then znak:=-1 else znak:=1 ;
s:=0;
while n <> 0 do
            begin
            a:=n mod 10;
            s:=s+a*znak;
            znak:=znak*(-1);
            n := n div 10;
            end;
  writeln ( 'CyMMa = ', s);
        writeln('BBecTu Dpyroe 4uclo? (y/n)');         readln(temp);
        if (temp='N') or (temp='n') then Ind:=false;   writeln;
        end;
end.
адекватно работающий код - сложение с первой цифры
kiniovd вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
еще одна задачка на TP7 Disel Паскаль, Turbo Pascal, PascalABC.NET 5 20.01.2009 16:24
Еще одна задачка по JavaScript) artemavd JavaScript, Ajax 1 20.11.2008 17:55
и ещё одна задачка...9 слонов MiH@N Помощь студентам 4 24.06.2008 00:03
еще одна задачка koston Помощь студентам 4 09.04.2008 18:43