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

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

icq: 329638065
По умолчанию

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

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

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

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, 20:17   #5
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,289
Репутация: 442

icq: 329638065
Счастье Сложение двух целых положительных чисел в системе с основанием 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, 20:24   #6
Virtson
Владимир М.
Профессионал
 
Аватар для Virtson
 
Регистрация: 30.10.2006
Адрес: Барнаул -> Новосибирск
Сообщений: 1,289
Репутация: 442

icq: 329638065
По умолчанию

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

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, 20:00   #7
fruti
Новичок
 
Регистрация: 20.12.2010
Сообщений: 2
Репутация: 10
По умолчанию

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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

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


01:03.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.