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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2010, 23:10   #1
13xXx13
Пользователь
 
Регистрация: 14.12.2010
Сообщений: 17
По умолчанию связать две программки в одну с использованием условия.

помогите сделать так, чтоб при выборе условия получалось следующее::
а) при N=2 (т.е. перевод осущ. в 2 систему счисления) используя "if n=2 then" работала эта часть программы:
Код:
uses CRT;
var a:longint;
function Y(x:longint):string;
const digits:array [0..1] of char = ('0','1');
var res:string; d:0..1;
BEGIN
res:='';
while (x<>0) do begin
d:=x mod 2; res:=digits[d]+res;
x:=x div 2;
END;
Y:=res;
END;
BEGIN
clrscr;
writeln(' programma perevoda chisla iz desjatichnoi sistemy v dvoichnuiy');
writeln(' ');
writeln(' ****************************************************************');
writeln('vvedite luboe chislo:'); readln(a);
writeln('rezultat perevoda:',Y(a)); readln
END.
а при N=10 (т.е. перевод осущ. в 10 систему счисления) "if n=10 then" работала эта часть программы:
Код:
uses crt; var a : string;
function Y(x:string):longint;
const cifri:array [0..1] of char = ('0','1');
var res,ves:longint; i,j:byte;
BEGIN
res:=0; ves:=1;
for i:=length(x) downto 1 do begin
j:=0;
while (cifri[j]<>x[i]) do inc(j);
res:=res+ves*j;
ves:=ves*2;
end; Y:=res;
END;
BEGIN
clrscr;
writeln(' programma perevoda chisla iz dvoichnoy sistemy v desjatichnuy');
writeln(' ');
writeln(' ****************************************************************');
writeln('vvedite luboe chislo:'); readln(a);
writeln('rezultat perevoda:',Y(a)); readln
END.
буду премного благодарен за помощь))

Последний раз редактировалось Stilet; 15.12.2010 в 11:27.
13xXx13 вне форума Ответить с цитированием
Старый 15.12.2010, 16:51   #2
GetMax
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 588
По умолчанию

Код:
uses CRT;
var
   a:longint;
   N:Byte;
   St:String;
function P(x:longint):string;
const
   digits:array [0..1] of char = ('0','1');
var 
  res:string; 
  d:0..1;
BEGIN
res:='';
while (x<>0) do 
begin
  d:=x mod 2; 
  res:=digits[d]+res;
  x:=x div 2;
END;
P:=res;
END;
function Y(x:string):longint;
const 
  cifri:array [0..1] of char = ('0','1');
var 
  res,ves:longint;
   i,j:byte;
BEGIN
  res:=0; 
  ves:=1;
  for i:=length(x) downto 1 do 
  begin
    j:=0;
   while (cifri[j]<>x[i]) do
   inc(j);
   res:=res+ves*j;
   ves:=ves*2;
  End;
  end; 
  Y:=res;
END;
BEGIN
  clrscr;
  writeln(' programma perevoda chisla ');
  writeln(' ');
  writeln(' ****************************************************************');
  writeln('vvedite luboe chislo:');
  readln(a);
  Writeln('Vvedite nomer zadniya: 2 ili 10: ');
  Readln(N);
  Case N of
     2:Begin
          writeln('rezultat perevoda:',P(a))
        End;
    10:Begin
           Str(a,St);
           writeln('rezultat perevoda:',Y(St))
         End;
   End; 
   Readln
END.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил.
Для благодарностей WMR R145235935681
GetMax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Си. Две задачи на опер. цикла и условия. Albi Помощь студентам 6 10.10.2010 14:22
C++. Собрать две маленькие программки в одну!! || Flashka || Помощь студентам 0 11.05.2010 13:59
связать одну дочернюю с несколькими главными alexdrew БД в Delphi 1 17.04.2010 21:15
Помогите написать две программки monos Общие вопросы C/C++ 0 07.05.2009 17:01
Напишите кто-нибудь пожалуйста две простенькие программки.Не безвозмездно. shn_elena Фриланс 6 17.12.2007 19:29