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

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

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

> подсчет едениц из двоичного числа, для VOLVO
сообщение
Сообщение #1


Новичок
*

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

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


Вот код программы но он считает не правильно



var
X, i, n: Integer;
begin
Readln(X);

n := 0;
for i := 0 to 15 Do
if (($0001 shl i) and X) <> 0 then inc(n);

writeln(n);
end.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
сообщение
Сообщение #2


Гость






zetsokol,
правда? Может это не код, а ты неправильно считаешь? Я уже говорил, повторяю СПЕЦИАЛЬНО для тебя: я НЕ ПРИНИМАЮ возражения в такой форме !!! Приведи пример, который ты пробовал (и данные, которые вводил), и то, что ты ХОЧЕШЬ получить, и что получил... Иначе, извини, я ничем помочь тебе не могу...

Вот результат прогона:
Цитата(Console)
0
0

7
3

127
7

А вот теперь ТЫ докажи мне, что программа неправильно работает !!! mad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Извени я неправильно наверное тебе пояснил.

Сосчитать количество единиц в двоичной записи числа i.

Например:

00111011

ответ:

5 едениц
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






zetsokol, специально для тебя - повторяю:
"00111011"(2) = 59(10)

Вводишь в мою программу число 59 и получаешь 5... Не может Паскаль работать с числами в системе счисления 2... Если тебе надо было нечто другое - нужно было ПРАВИЛЬНО задавать вопрос, а не утверждать, что программа работает неверно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Еще раз сори. Я не про то что прога работает не верно просто считала не то что надо было мне.

На счет двоичной системы счисления - водить число нужно только еденицы пусть в 10 системе. Поставить проверку не трудно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Попробуй вот так:
var
s: string;
i, count: integer;

begin
write('n = '); readln(s);

count := 0;
for i := 1 to length(s) do
if s[i] = '1' then inc(count)
else
if s[i] <> '0' then begin
writeln('error: illegal input'); halt;
end;

writeln('count = ', count)

end.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

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

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


спасибо Volvo по идее должно работать. Что-то я сам про это не додумался, я тока про целый тип думал good.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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