0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
1 | |
Найти все целые числа в диапазоне от 2 до n, у которых значение младшего байта меньше чем значение старшего и вывести22.09.2018, 20:12. Показов 1434. Ответов 27
Метки нет (Все метки)
Если можно, напишите с // в трудных местах. Учусь на первом курсе, лекции немного отстают от лабораторных, поэтому я не могу понять как программу написать. Тема работы: циклы.
Спасибо!
0
|
22.09.2018, 20:12 | |
Ответы с готовыми решениями:
27
Старший бит старшего байта поменять местами с младшим битом младшего байта Вывести целые числа от 2 до n, для которых значение младшего байта меньше значения старшего в двоичном представлении Вывести все целые числа в диапазоне от 0 до 999 сумма цифр которых равна 15 Найти все целые числа в диапазоне от 200 до 500, у которых ровно 6 делителей |
23.09.2018, 10:04 | 3 | |||||
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|||||||||||
23.09.2018, 10:19 | 4 | ||||||||||
Peoples, Ваш код годится только для двух-байтовых int.
Лучше так
Надо бы устроить цикл по старшему байту и вложить в него цикл по младшему. Добавлено через 3 минуты Что-то типа
1
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,882
|
||||||
23.09.2018, 10:45 | 6 | |||||
Байт, по постановке вопроса больше похоже что нужны именно 2-байтные числа. А для них удобно использовать объединения
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
||||||
23.09.2018, 10:59 [ТС] | 7 | |||||
Нет, числа могут быть любые, их надо вводить из клавиатуры.
Добавлено через 48 секунд Ну, вообще, в задании не указано, но я думаю, что надо диапазон вводить с клавиатуры. Добавлено через 7 минут Да, забыл упомянуть... Желательно использовать только if/else, switch, &&, ||, goto(но лучше не надо ), а также циклы. Т.к. вот этот код я вообще практически не понимаю)
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|
23.09.2018, 11:02 | 8 |
А зачем нам гадать и шаманить? Через sizeof(int) все очень мило получается.
Только я со сдвигом слегка напутал. Указанную мной величину сдвига надо, конечно, умножать на 8. Все-таки в байте - 8 битов (на себе проверял!)
0
|
Модератор
8908 / 6677 / 918
Регистрация: 14.02.2011
Сообщений: 23,520
|
|
23.09.2018, 11:27 | 9 |
больше вопросов чем ответов
размер числа? старший байт больше 0xFF больше нуля или меньше? это 255 или -1? вот такое число 0xFEFF удовлетворяет условиям или нет? -2 и -1, -2 и 255, 254 и 255, 254 и -2???? не может быть любых для 2х байтного числа число должно быть больше 255 все что меньше не удовлетворяет условиям для 4 байтного аж 16777216
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
23.09.2018, 11:39 [ТС] | 10 |
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
23.09.2018, 11:48 [ТС] | 12 |
Ну да, в том то и дело, поэтому я и не понимаю как сделать такую программу.
С каждым ответом на форуме мне всё больше кажется, что мне просто надо придумать себе число n и посчитать числа. Т.к. в самой задаче не сказано, вводить n с клавиатуры или нет.
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
||||||
23.09.2018, 12:13 | 13 | |||||
Согласен!
По началу тоже написал
Любое - это замечательно! а Целое - ещё лучше! То есть может быть как положительным, так и отрицательным? Или всё-таки число не только целое, оно ещё и натуральное? Теперь что значит "любое"? Максимальный тип данных для хранения "любого" натурального числа - uint64_t, 8 байт. В него-то должно помещаться, или велкам ту длинная арифметика? В любом случае, думаю, задача сводится к тому, чтобы для начала понять, сколько байт число в памяти занимает, а уж потом старший (каким бы он там ни был), с младшим сравнивать...
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
23.09.2018, 12:23 [ТС] | 15 |
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
23.09.2018, 12:40 | 16 |
Да точно так! Но проблемы не решает.
С какого перепуга? Диапазон может быть и от 2 до -1002 с шагом -1. А вот с натуральными числами всё проще - они все положительные по определению.
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
23.09.2018, 12:44 [ТС] | 17 |
Не думаю что на 3 неделе изучения си с нуля будут так усложнять задания. Надеюсь будет понятно на украинском.
Вот всё что я знаю:
0
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
23.09.2018, 12:46 | 18 |
NULP PZ13, ну да Бог с ним, какое-то ограничение для максимального числа должно быть? Вы к примеру какие типы переменных для хранения целых чисел проходили?
0
|
0 / 0 / 0
Регистрация: 22.09.2018
Сообщений: 30
|
|
23.09.2018, 12:54 [ТС] | 19 |
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,882
|
||||||
23.09.2018, 13:20 | 20 | |||||
в постановке задачи ТСа через sizeof получится разве что неправильный ответ при правильном алгоритме
он аналогичен коду Байта, только циклы сделаны более наглядно и исправлен небольшой баг (второй цикл). В объединении
num16 x; x.val = 0x1234; тогда x.lo будет 0x34, а x.hi будет 0x12.
0
|
23.09.2018, 13:20 | |
23.09.2018, 13:20 | |
Помогаю со студенческими работами здесь
20
Определение младшего и старшего байта Функция нахождения старшего и младшего байта Логическое сложение младшего и старшего байта слова Напечатать все значение n при которых все числа последовательности будут не меньше а Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |