Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
1

Перевод систем счисления

03.05.2016, 15:16. Показов 2293. Ответов 22
Метки нет (Все метки)

Исходный текстовый файл содержит числа в шестнадцатеричной системе счисления,
отделенные друг от друга хотя бы одним пробелом. Составить программу, которая под
каждым шестнадцатеричным числом в файле указывает его значение в десятичной системе
счисления, например 237 4C 0 D
567 76 0 13
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2016, 15:16
Ответы с готовыми решениями:

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

Контроль вводимых данных в программе перевода систем счисления
Всем привет, я написал программу для перевода чисел из 8сс в 10сс и обратно, но не в этом суть....

Укажите через запятую в порядке возрастания все основания систем счисления
Укажите через запятую в порядке возрастания все основания систем счисления , в которых запись числа...

Перевод систем счисления
Написать программу для перевода с десятичной системы счисления в 2 и 8 системы счисления.

22
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
03.05.2016, 16:33 2
Лучший ответ Сообщение было отмечено Новичок как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var f:text;
    s,s1:string;
    a,c,n:integer;
begin
assign(f,'input.txt');//файл в папке с программой
reset(f);
readln(f,s);
close(f);
s:=s+' ';
append(f);
writeln(f,'');
while pos(' ',s)>0 do
 begin
  s1:='$'+copy(s,1,pos(' ',s)-1);
  n:=length(s1)-1;
  val(s1,a,c);
  write(f,a:n,' ');
  delete(s,1,pos(' ',s));
 end;
write('Файл input.txt переписан');
close(f);
readln
end.
1
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
03.05.2016, 19:27  [ТС] 3
красным выделяет reset(f);
0
Эксперт Pascal/Delphi
6768 / 4536 / 4807
Регистрация: 05.06.2014
Сообщений: 22,364
03.05.2016, 19:35 4
Цитата Сообщение от Puporev Посмотреть сообщение
файл в папке с программой
Это сделали?
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
16.05.2016, 18:32  [ТС] 5
мне почему то в текстовом файле ответы 0 выдает постаянно

Добавлено через 29 минут
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
Это сделали?
да на мне почему то в самом текстовом файле ответы одни нули выдает постоянно
0
Эксперт Pascal/Delphi
6768 / 4536 / 4807
Регистрация: 05.06.2014
Сообщений: 22,364
16.05.2016, 18:53 6
Лучший ответ Сообщение было отмечено of как решение

Решение

of, вы запускали в pabc или pabc.net? Судя по всему, эти компиляторы не поддерживают работу функции val с 16-ными числами.
В fpc всё работает корректно.
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
16.05.2016, 20:05  [ТС] 7
Цитата Сообщение от ZX Spectrum-128 Посмотреть сообщение
, вы запускали в pabc или pabc.net? Судя по всему, эти компиляторы не поддерживают работу функции val с 16-ными числами.
В fpc всё работает корректно
через него вот так
Миниатюры
Перевод систем счисления  
0
Эксперт Pascal/Delphi
6768 / 4536 / 4807
Регистрация: 05.06.2014
Сообщений: 22,364
16.05.2016, 20:18 8
Лучший ответ Сообщение было отмечено of как решение

Решение

Цитата Сообщение от of Посмотреть сообщение
через него вот так
Эта ошибка сообщает, что файл не найден. Значит, он не лежит в папке с программой.
1
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
16.05.2016, 20:53 9
И в АВС и во Free все работает. Кстати первый код тестировался в Free Pascal.
Сейчас прогнал в АВС, тоже самое.
Добавил удаление лишних пробелов в середине строки.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var f:text;
    s,s1:string;
    a,c,n:integer;
begin
assign(f,'input.txt');//файл в папке с программой
reset(f);
readln(f,s);
close(f);
s:=s+' ';
while pos('  ',s)>0 do delete(s,pos('  ',s),1);
append(f);
writeln(f,'');
while pos(' ',s)>0 do
 begin
  s1:='$'+copy(s,1,pos(' ',s)-1);
  n:=length(s1)-1;
  val(s1,a,c);
  write(f,a:n,' ');
  delete(s,1,pos(' ',s));
 end;
write('Файл input.txt переписан');
close(f);
readln
end.
Что в 1 что в другом Паскале получается так
Миниатюры
Перевод систем счисления  
1
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
16.05.2016, 21:52  [ТС] 10
я уже не знаю в чем дело 1000 раз все проверил 0 выдает и все
0
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
17.05.2016, 15:07 11
Покажите свой исходный тестовый файл.
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
17.05.2016, 19:06  [ТС] 12
Цитата Сообщение от Puporev Посмотреть сообщение
Покажите свой исходный тестовый файл.
вот такой
Миниатюры
Перевод систем счисления  
0
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
17.05.2016, 19:17 13
И что получается в результате, как выглядит измененный файл?
Должно быть так.
Перевод систем счисления

И у меня именно так и выходит.
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
17.05.2016, 19:23  [ТС] 14
а у меня просто 0 выдает почему то
0
Модератор
Эксперт по электронике
7758 / 3908 / 1503
Регистрация: 01.02.2015
Сообщений: 12,061
Записей в блоге: 2
17.05.2016, 19:25 15
of, имя файла 'input.txt'. У вас он без расширения (судя по заголовку Блокнота).
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
17.05.2016, 19:36  [ТС] 16
Цитата Сообщение от ФедосеевПавел Посмотреть сообщение
of, имя файла 'input.txt'. У вас он без расширения (судя по заголовку Блокнота)
если я ввожу txt у меня пишет ошибку временя выполнения вообще
0
Почетный модератор
64086 / 47495 / 32734
Регистрация: 18.05.2008
Сообщений: 115,182
17.05.2016, 19:49 17
Цитата Сообщение от of Посмотреть сообщение
а у меня просто 0 выдает почему то
Где выдает?
0
Модератор
Эксперт по электронике
7758 / 3908 / 1503
Регистрация: 01.02.2015
Сообщений: 12,061
Записей в блоге: 2
17.05.2016, 19:54 18
А попробуйте так.
В самом начале программы после первого begin временно сделайте
Pascal
1
2
3
4
assign(f,'input.txt');//файл в папке с программой
rewrite(f);
writeln(f,'ADF 237 444');
close(f);
Запустите.
Удалите эту вставку.
Посмотрите, сколько файлов 'input' в папке

Подозреваю, что в папке у вас файл без расширения. А программе нужен с расширением.
0
of
0 / 0 / 0
Регистрация: 01.04.2016
Сообщений: 37
17.05.2016, 20:32  [ТС] 19
все ровно 0
0
Модератор
Эксперт по электронике
7758 / 3908 / 1503
Регистрация: 01.02.2015
Сообщений: 12,061
Записей в блоге: 2
17.05.2016, 20:41 20
А где 0?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.05.2016, 20:41

Перевод из систем счисления: из 2 в 10, из 8 в 10, из 16 в 10
Еще раз здравствуйте, вот код программы: uses crt; var len,q,e,w,r1,r2,otvet:integer;...

Перевод чисел из разных систем счисления
Задание: Написать программу перевода следующих чисел 772; 71; 284,375; 876,5; 281,86; (если число...

Перевод систем счисления из десятичной в восьмеричную
перевод систем счисления из десятичной в восьмеричную, ввод второй строки с вариантом ответа если...

Перевод систем счисления из десятичной в восьмеричную и обратно
Помогите написать программу : - " перевод систем счисления из десятичной в восьмеричную и обратно"...

Как поменять int на div (перевод систем счисления)
Вот программа по переводу числа из системы по основанию 8 в систему по основанию 4. Вообщем, как в...

Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 <= M, N <= 16
Перевод целых неотрицательных чисел из системы счисления M в систему счисления N, где 2 &lt;= M, N &lt;=...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru