
C++, задача с массивом и разрядностью чисел Вводится последовательность из N положительных целых
чисел. Определить разрядность каждого числа. Написать ПРОСТУЮ программу на с++, желательно только со стандартными библиотеками. Написать через for, while, do while (разными циклами)

Ответы на вопрос

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
setlocale(LC_ALL,"russian");
cout << "Введите размер массива: ";
int N;
cin >> N;
N=N--;
unsigned int a[N];
for (int b = 0; b<=N; b++)
{
cout << "Введите число номер " << b << ": ";
cin >> a[b];
}
for(int i=0; i<=N; i++)
{
if(a[i]<=255)
{
cout << "Количество разрядов числа " << a[i] << " - 8" << endl;
}
if(a[i]>=256 && a[i]<=65535)
{
cout << "Количество разрядов числа " << a[i] << " - 16" << endl;
}
if(a[i]>=65536 && a[i]<=4294967295)
{
cout << "Количество разрядов числа " << a[i] << " - 32" << endl;
}
}
system("pause");
return 0;
}
Надеюсь, правильно понял определение разрядов.
Есть пожелания - в комментарии



Конечно! Вот пример программы на C++, которая использует различные циклы (for, while и do-while) для определения разрядности каждого числа в последовательности:
cpp#include <iostream>
#include <cmath>
int main() {
int N;
std::cout << "Введите количество чисел в последовательности: ";
std::cin >> N;
int numbers[N];
std::cout << "Введите числа через пробел: ";
for (int i = 0; i < N; ++i) {
std::cin >> numbers[i];
}
std::cout << "Разрядность чисел:\n";
// Использование цикла for
for (int i = 0; i < N; ++i) {
int digits = 0;
int num = numbers[i];
do {
num /= 10;
digits++;
} while (num != 0);
std::cout << numbers[i] << ": " << digits << std::endl;
}
std::cout << std::endl;
// Использование цикла while
int i = 0;
while (i < N) {
int digits = 0;
int num = numbers[i];
do {
num /= 10;
digits++;
} while (num != 0);
std::cout << numbers[i] << ": " << digits << std::endl;
i++;
}
std::cout << std::endl;
// Использование цикла do-while
int j = 0;
do {
int digits = 0;
int num = numbers[j];
do {
num /= 10;
digits++;
} while (num != 0);
std::cout << numbers[j] << ": " << digits << std::endl;
j++;
} while (j < N);
return 0;
}
Программа запрашивает у пользователя количество чисел в последовательности (N) и саму последовательность чисел. Затем она использует три разных цикла (for, while и do-while) для определения разрядности каждого числа и выводит результаты на экран.
Примечание: Эта программа предполагает, что пользователь вводит только положительные целые числа. Проверка на корректность ввода опущена для упрощения кода.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili