![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 06.05.2013
Сообщений: 4
|
![]()
Всем привет) Помогите пожалуйста решить две задачи по программированию .. совершенно не разбираюсь, но хотела бы понять все это дело...буду очень благодарна за ценные советы..
1. Применительно к числам, в представлении которых использован дополнительный код, выражение х& = (x-1) уничтожает самую правую 1 в х. Объясните почему. Используйте это наблюдение для более быстрого варианта функции bitcount , подсчитывающей число единиц в двоичном представлении своего аргумента. 2. Описать структуру с именем STUDENT, содержащую следующие поля: а. Фамилия и имя (строка 15 символов), б. Год рождения (целое неотрицательное число) в. Номер группы (число целое или строка из 3-х символов) г. Оценки за сессию по 4-м предметам (массив из четырех типа float) Разработать программу, выполняющую следующую функцию: Распечатать фамилии тех учеников, которые не получили ни одной тройки за последнюю сессию, с указанием их оценок, среднего балла и группы. |
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
![]() Цитата:
Цитата:
1) Объявить переменную, хранящую целое неотрицательное число; 2) Объявить переменную, хранящую строку длиной 15 символов; 3) Объявить структуру STUDENT; 4) Объявить массив элементов типа STUDENT; 5) Заполнить структуру STUDENT данными, вводимыми пользователем; 6) Проверить для заданной переменной типа STUDENT, верно ли, что среди оценок в ней нет троек; 7) Вывести для заданной переменной типа STUDENT фамилию, оценки, средний балл и группу. |
||
![]() |
![]() |
![]() |
#3 |
Регистрация: 06.05.2013
Сообщений: 4
|
![]()
Abstraction, у меня проблема в составлении программы совершенно не знаю что делать.. я нашла объяснение для первой задачи и функцию bitcount тоже нашла..а что и как Это вообще проблемааа!
Исходный bitcount() выглядит так: /* bitcount: подсчет единиц в х */ int bitcount(unsigned x) { int b; for (b = 0; x != 0; x >>= 1) if (x & 01) b++; return b; } Объяснение. Если х нечетно, то (х-1) имеет такое же битовое представление как и х, за исключением того, что крайний правый бит в нем равен 0. В этом случае (х & (х-1)) == (х-1). Если же х четно, то в представлении (х-1) нули, стоявшие в х справа становятся единицами, а крайняя правая единица -- нулем. Конъюнкция х & (х-1) очищает эти позиции вплоть до того места, когда встретит единицы в представлениях обоих чисел (т.е. единицу, бывшую в x до этого шага второй справа). Новая версия bitcount(): int bitcount(unsigned x) { int b; for (b = 0; x != 0; x &= (x-1)) b++; return b; } |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 26.12.2012
Сообщений: 90
|
![]()
У меня есть решение для вашей задачи , написана на языка C, посмотрите
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 06.05.2013
Сообщений: 4
|
![]()
Большое спасибо
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задачки | by_Igorek | Общие вопросы Delphi | 1 | 25.04.2013 01:43 |
Задачки | skin11 | Помощь студентам | 2 | 20.05.2012 18:41 |
Задачки на Паскале помогите пожалуйста решить 2 задачки, а то отчислят. плиз | VADOS2009-1 | Помощь студентам | 0 | 03.06.2009 18:11 |
2 задачки | Lemo | Помощь студентам | 1 | 27.11.2008 13:00 |