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

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

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

 
 Ответить  Открыть новую тему 
> система счисления
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


Условие задачи состоит в следующем: Найти все простые числа. не превосходящие заданного числа n>0 и записать их в 16-ой системе счисления.

Написала программу
uses crt;
var
n,i,k,y, pdel:integer;
p, Code : Integer;
St,s: string;

Begin
clrscr;
pdel:=0;
repeat
Write('Введите n: ');
Readln(st);
Val(St, p, Code);
if Code<>0 then Writeln('Неправильный ввод! Ошибка в позиции: ',Code);
until Code = 0;
n:=p;
for i:=2 to n do begin
for k:=2 to i do
if i mod k = 0 then pdel:=pdel+1;
if pdel=1 then Write(i,' ');
s:=’ ‘;
y:=i mod 16;
case y of
0..9 : s:=Str(y)+s;
10: s:='A'+s;
11: s:='B'+s;
12: s:='C'+s;
13: s:='D'+s;
14: s:='E'+s;
15: s:='F'+s;
end;
i:=i div 16;
if i=0 then break;
writeln('vashe chislo v 16 ss = ',s);
pdel:=0;
end;
Writeln;
End.




простые числа работают, а вот с перевод не идет. Подскажите,что я делаю не так.
Заранее огромное спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


Общие вопросы по математике.

?


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






for i:=2 to n do begin

pdel := 0;
for k:=2 to i do
if i mod k = 0 then pdel:=pdel+1;

if pdel=1 then begin
Write(i,' ');
writeln('vashe chislo v 16 ss = ', FromDec(i, 16));
end;

Функция FromDec взята здесь: Общие вопросы по математике.

(у тебя программа не компилируется, например, что такое Str(y) ???, и почему изменяется i внутри цикла по i ???)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


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


Прикрепленные файлы
Прикрепленный файл  Z1.PAS ( 756 байт ) Кол-во скачиваний: 127
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Кто сказал, что НЕ переводит? Все переводит:


Эскизы прикрепленных изображений
Прикрепленное изображение
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 40
Пол: Женский
Реальное имя: Nataly

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


СПАСИБО ОГРОМНОЕ! smile.gif

Добавлено через 7 мин.
Скажите, а как организовать вывод результата в виде таблицы?

Добавлено через 36 сек.
Скажите, а как организовать вывод результата в виде таблицы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Меняй свой цикл по i вот на это:

for i := 1 to 43 do write('-'); writeln;
writeln('|', '10':20, '|', '16':20, '|');
for i := 1 to 43 do write('-'); writeln;

for i:=2 to n do begin
pdel:=0;
for k:=2 to i do
if i mod k=0 then pdel:=pdel+1;
if pdel=1 then writeln('|', i:20, '|', fromdec(i, 16):20, '|');
end;
for i := 1 to 43 do write('-'); writeln;

 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 22.09.2020 15:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name