IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Как сравнить два шестнацатеричных числа?
samec
сообщение 19.06.2007 22:01
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Привет, всем! Условие следующее: есть массив чисел, заданных в шестнадцатеричной системе счисления. Числа читаются из текстового файла. Необходимо упорядочить этот массив по неубыванию, не переводя числа в другую С.С.
Собственно вопрос: как реализовать сравнение двух чисел, заданных в шестнацатеричной С.С.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 19.06.2007 23:06
Сообщение #2


Гость






Покажи, как ты читаешь числа из файла (а самое главное - КУДА? В массив строк или все-таки в массив чисел?)
 К началу страницы 
+ Ответить 
samec
сообщение 20.06.2007 5:05
Сообщение #3


Бывалый
***

Группа: Пользователи
Сообщений: 180
Пол: Мужской
Реальное имя: Юра

Репутация: -  1  +


Цитата(volvo @ 20.06.2007 3:06) *

Покажи, как ты читаешь числа из файла (а самое главное - КУДА? В массив строк или все-таки в массив чисел?)

читаю в массив чисел, вот так:

var
f:text;
mas:array[1..100,1..100] of integer;
kol:integer;

procedure write_file;
var
ch:char;
i:integer;
begin
Assign(f,'data.txt');
Reset(f);
for i:=1 to 100 do
for kol:=1 to 100 do
mas[i,kol]:=-1;
i:=1;
kol:=0;
while not EOF(f) do
begin
read(f,ch);
case ch of
'0':begin mas[kol+1,i]:=0; inc(i); end;
'1':begin mas[kol+1,i]:=1; inc(i); end;
'2':begin mas[kol+1,i]:=2; inc(i); end;
'3':begin mas[kol+1,i]:=3; inc(i); end;
'4':begin mas[kol+1,i]:=4; inc(i); end;
'5':begin mas[kol+1,i]:=5; inc(i); end;
'6':begin mas[kol+1,i]:=6; inc(i); end;
'7':begin mas[kol+1,i]:=7; inc(i); end;
'8':begin mas[kol+1,i]:=8; inc(i); end;
'9':begin mas[kol+1,i]:=9; inc(i); end;
'A':begin mas[kol+1,i]:=10; inc(i); end;
'B':begin mas[kol+1,i]:=11; inc(i); end;
'C':begin mas[kol+1,i]:=12; inc(i); end;
'D':begin mas[kol+1,i]:=13; inc(i); end;
'E':begin mas[kol+1,i]:=14; inc(i); end;
'F':begin mas[kol+1,i]:=15; inc(i); end;
#13: begin inc(kol); i:=1; end;
end;
end;
Close(f);
end;



Добавлено через 5 мин.
Цитата(мисс_граффити @ 20.06.2007 5:45) *

выводит правильный результат?

если S1 дополнить фиктивными нулями, то результат будет правильным... но как то это уж слишком просто smile.gif

Сообщение отредактировано: samec - 20.06.2007 5:08
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 4:30
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"