Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.01.2007, 16:59   #1
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию Перевод из одной системы исчисления в другую.

Дан текстовый фаЙл. В каждой строке записано по одному целому числу в восьмеричной системе счисления (количество цифр в числе <=50). Переписать в другой текстовый файл эти числа, записанные в 1З-ичной системе счисления
Помогите написать. Кстати при написании надо делать все в строках. т.е. число будет массив строк.
В каждой ячейки массива однозначное число. Просто если строка больше 50 символов делфи не запускает программу.
Буду благодарен!
Очень благодарен!
Очень-очень!
Если есть какие вопросы прошу в ICQ.
Svop вне форума Ответить с цитированием
Старый 15.01.2007, 20:43   #2
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

сделать реально.

icq не заметил у тебя ..
Virtson вне форума Ответить с цитированием
Старый 15.01.2007, 21:30   #3
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

понятно что реально
можешь написать помочь?
мне в четверг сдавать
ася 8371402
Svop вне форума Ответить с цитированием
Старый 17.01.2007, 18:41   #4
Svop
Пользователь
 
Регистрация: 08.11.2006
Сообщений: 25
По умолчанию

program delenie;
{$APPTYPE CONSOLE}
uses
SysUtils;
var mas,chastnoe:array[1..255] of integer; delimoe1,sravn,v,i,delimoe:integer;
begin
for i:=1 to 4 do
begin
readln(mas[i]);
v:=i;
end;
delimoe:=(mas[1]*10)+mas[2];
delimoe1:=(mas[1]*10)+mas[2];
writeln('delimoe ',delimoe);
sravn:=1;
i:=0;
sravn:=1;
while sravn<>0 do
begin
i:=1+i;
writeln(i,' delimoe| ',delimoe);
if delimoe1<13 then
begin
i:=3;
end;
if delimoe < 13 then
begin
delimoe:=(delimoe*10)+mas[i+1];
end;
writeln(i,' delimoe //',delimoe);
chastnoe[i]:=delimoe div 13;
sravn:=delimoe div 13;
writeln(i,' chastnoe ',chastnoe[i]);
delimoe:=delimoe mod 13;
v:=i;
writeln(i,' delimoe ',delimoe);
writeln(i,' chsislo ',mas[i]);
end;
for i:=1 to v-1 do
writeln(chastnoe[i]);
readln;
end.


это так будет выглядить деление
что-то типо того, программа почему то уходит в бесконечный цикл
помогите?
Svop вне форума Ответить с цитированием
Старый 17.01.2007, 19:17   #5
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
Счастье Сложение двух целых положительных чисел в системе с основанием p.

Код:
(************************************************
Алгоритм   складывает  два  целых числа   A и B,
представленных в системе счисления с основанием
p. Элементы  массивов - целые в промежутке от 0
до p-1.
Сумма   помещается   в   массив C, а количество
разрядов суммы представлено переменной l.
***********************************************)
procedure SumNumbers(p : Integer;
     n : Integer;
     m : Integer;
     const a : TInteger1DArray;
     const b : TInteger1DArray;
     var l : Integer;
     var c : TInteger1DArray);
var
    I : Integer;
    T : Integer;
begin
    if n>m then
    begin
        SetLength(c, n+1+1);
    end
    else
    begin
        SetLength(c, m+1+1);
    end;
    i := 0;
    t := 0;
    if n>m then
    begin
        repeat
            c[i] := a[i]+b[i]+t;
            t := 0;
            if c[i]>=p then
            begin
                t := 1;
                c[i] := c[i]-p;
            end;
            i := i+1;
        until  not (i<=m);
        repeat
            c[i] := a[i]+t;
            t := 0;
            if c[i]>=p then
            begin
                c[i] := c[i]-p;
                t := 1;
            end;
            i := i+1;
        until  not (i<=n);
    end
    else
    begin
        repeat
            c[i] := a[i]+b[i]+t;
            t := 0;
            if c[i]>=p then
            begin
                t := t+1;
                c[i] := c[i]-p;
            end;
            i := i+1;
        until  not (i<=n);
        while i<=m do
        begin
            c[i] := b[i]+t;
            t := 0;
            if c[i]>=p then
            begin
                c[i] := c[i]-p;
                t := 1;
            end;
            i := i+1;
        end;
    end;
    if t<>0 then
    begin
        l := i;
        c[i] := 1;
    end
    else
    begin
        l := i-1;
    end;
end;
Virtson вне форума Ответить с цитированием
Старый 17.01.2007, 19:24   #6
Virtson
Владимир М.
Участник клуба
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Сообщений: 1,289
По умолчанию

вычитание смотри тут :

http://www.programmersforum.ru/showp...5&postcount=10

алгоритм :
Идея алгоритма перевода предельно проста: положим начальное значение Zq := 0; из числа Zp вычтем 1 по правилам вычитания системы p, т.е. Zp := Zp–1 и добавим ее к Zq по правилам сложения системы q, т.е. Zq := Zq + 1; будем повторять эту последовательность действий, пока не достигнем Zp = 0.

http://it.kgsu.ru/TI_3/tkod_016.html

так вот, вместо 1 можно взять число побольше.
главно знать, как оно выглядит в 13 системе счисления.
вычитаем, пока входящее число > 0.
Virtson вне форума Ответить с цитированием
Старый 20.12.2010, 19:00   #7
fruti
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 2
По умолчанию

Ребята помогите написать программу в ассемблере 8086
зделать програму которая переводит переменную из 4-ичной системе счисления в 7-ичной системе счисления. Необезательно делать с умноженией с делением или другие арифметические операций, чем проще тем лучше
fruti вне форума Ответить с цитированием
Старый 20.12.2010, 19:00   #8
fruti
Новичок
Джуниор
 
Регистрация: 20.12.2010
Сообщений: 2
По умолчанию

Ребята помогите написать программу в ассемблере 8086
зделать програму которая переводит переменную из 4-ичной системе счисления в 7-ичной системе счисления. Необезательно делать с умноженией с делением или другие арифметические операций, чем проще тем лучше
fruti вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод целых чисел из одной системы счисления в другую =LeonZone= Помощь студентам 19 12.12.2010 16:18
перевод системы исчисления (16 ->10) adwaer Помощь студентам 5 15.06.2008 19:29
Перевод из одной системы счисления в другую Sky_VSUH Помощь студентам 1 28.02.2008 20:18
перевести числа с одной системы счисления в другую Informer Общие вопросы C/C++ 3 23.11.2007 16:21


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS