ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 16.12.2007, 16:59
Xserg
Участник форума
Регистрация: 09.12.2006
Сообщений: 135
Провел на форуме:
426226

Репутация: 726
По умолчанию

так должно работать:
Код:
program Snak3;
uses  Crt;

.....
  c:='1'+c;
 end;
end;

function IntToStr(a: Integer): string;
var  s: string;
begin
  Str(a, s);
  IntToStr := s;
end;

begin
write('Enter n');
......  
...... um(s,IntToStr(k),s);
 
Ответить с цитированием

  #12  
Старый 16.12.2007, 17:08
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

Всё, задача работоспособна....

Спасибо: Xerg, Sn@k3, .Slip
Вот собственно готовая задача
, считает 1!+2!+3!+..+n!
Код:
program Snak3;
uses crt;
var ss,s:string;
    n,i,k:longint;

procedure um(a,b:string;var c:string);
var n,k,i,j,x,p:integer;
    d:string;
begin
 n:=length(s);
 k:=length(b);
 c:=''; d:=''; p:=0;
 for i:=1 to n+k do d:=d+'0';
 for j:=k downto 1 do
  begin
  p:=0;
  for i:=n downto 1 do begin
  x:=(ord(a[i])-ord('0'))*(ord(b[j])-ord('0'))+p+ord(d[i+j])-ord('0');
  d[i+j]:=chr((x mod 10)+ord('0'));
  p:=x div 10;
                        end;
  d[j]:=chr(ord(d[j])+p);
  end;
 i:=1;
 n:=length(d);
 while (d[i]='0') and (i<n) do inc(i);
 for k:=i to n do c:=c+d[k];
end;

procedure sum(a,b:string;var c:string);
var x,i,p,n,k:integer;
begin
 n:=length(a);
 k:=length(b);
 p:=0;
 c:='';
 if n<k then begin
 for i:=n+1 to k do
 a:='0'+a;
             end else
 begin
 for i:=k+1 to n do
 b:='0'+b; end;
 n:=length(a);
 for i:=n downto 1 do
  begin
  x:=ord(a[i])-ord('0')+ord(b[i])-ord('0')+p;
  c:=chr((x mod 10)+ord('0'))+c;
  p:=x div 10;
  end;
 if p<>0 then
 begin
  inc(n);
  c:='1'+c;
 end;
end;

function IntToStr(a: Integer): string;
var  s: string;
begin
  Str(a, s);
  IntToStr := s;
end;

begin
write('Enter n');

readln(n);
ss:='';
for i:=1 to n do begin
 s:='1';
 for k:=1 to i do   um(s,IntToStr(k),s);
 sum(ss,s,ss);
                 end;
writeln('1!+2!+3!+..+n!=',ss);
read(n);
end.

Последний раз редактировалось rubik-nerubik; 16.12.2007 в 17:55..
 
Ответить с цитированием

  #13  
Старый 16.12.2007, 17:10
Sn@k3
Познавший АНТИЧАТ
Регистрация: 13.04.2006
Сообщений: 1,738
Провел на форуме:
5151669

Репутация: 1198


Отправить сообщение для Sn@k3 с помощью ICQ
По умолчанию

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

  #14  
Старый 16.12.2007, 18:27
rubik-nerubik
Участник форума
Регистрация: 04.05.2007
Сообщений: 267
Провел на форуме:
409147

Репутация: 33
По умолчанию

Так, теперь осталось две беды: блок-схема к той:#12

и к #10 переделать вроде....
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменения в форуме antichat.ru Algol Болталка 0 05.12.2003 15:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ