Системы счисления (тест 4) ction=139&probid=4 Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему. Недавно на уроке информатики Вася узнал о позиционных системах счисления. Ему очень понравилось представлять разные числа в двоичной, троичной и даже девятеричной системе счисления. Помимо этого Васе нравится записывать цифры числа в обратном порядке. Вася берет произвольное натуральное число хи выполняет последовательно следующие три действия: 1. Вася переводит число X во все системы счисления с основанием от 2 до 9; 2. Все числа, полученные на предыдущем шаге, Вася записывает в обратном порядке, отбрасывая при этом у всех перевернутых чисел ведущие нули; 3. Вася находит максимальное из чисел, полученных на втором шаге, сравнивая значения этих чисел, как будто они записаны в десятичной системе счисления. Какой результат получит Вася после выполнения трех шагов своего алгоритма для числа Х? во все системы счисления с Примечание Например, Вася хочет решить задачу для числа X = 8. Переведем число 8 основаниями k, где k принимает значения от 2 до 9. При k = 2 получаем 810 10002; при k = 3 получаем 810 = 223; при k = 4 получаем 810 = 204 при k = 5 получаем 810 135; при k = 6 получаем 810 126; при k = 7 получаем 810 = 11; при k = 8 получаем 810 108; при k = 9 получаем 810 = 80. Теперь запишем цифры данных чисел в обратном порядке и отбросим ведущие нули. Получим числа 1 (для k = 2), 22 (для k = 3), 2 (для k = 4), 31 (для k = 5), 21 (для k = 6), 11 (для k = 7), 1 (для k = 8), 8 (для k = 9). Теперь рассматриваем эти числа, как будто они записаны в десятичной системе счисления. Тогда максимальное из них равно 31, что и является ответом для исходного числа X = 8. • Тест №1: х = 4; Close Firefox s911-03-32-047 [Школьн...
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "");
int N = 10;
int max = -9999999;
int sum = 0;
int choise = 0;
int arr[N] = {0};
cout << "Введите 10 значений: ";
for(int i = 0; i<N; ++i) {
cin >> arr[i];
}
cout << "Введите действие (1 - +, 2 - макс. значение, 3 - колво отр. значений)";
cin >> choise;
if(choise==1) {
for(int i = 0; i<N; ++i) {
sum+=arr[i];
}
cout << endl << "Сумма: " << sum;
}
if(choise==2) {
for(int i = 0; i<N; ++i) {
if(arr[i]>max) {
max = arr[i];
}
}
cout << endl << "Макс. знач: " << max;
}
if(choise==3) {
for(int i = 0; i<N; ++i) {
if(arr[i]<0) {
++sum;
}
}
cout << "Колво отр. знач: " << sum;
}
if(choise!=1&&choise!=2&&choise!=3) {
cout << "Введите корректное значение.";
}
return 0;
}
ЯП: С++ | можно не писать std:: , если использовать пространство имен: using namespace std;
#include <iostream>
int main() {
const int SIZE = 10;
int regim, sum, max, count;
int arr[SIZE];
for (int i = 0; i < SIZE; i++)
{
std::cin >> arr[i]; // вводим элементы массива
std::cout << arr[i] << "\t"; // выводим массив в консоль
}
std::cin >> regim;
if ((regim > 0) && (regim < 4))
{
if (regim == 1)
{
for (int i = 0; i < SIZE; i++)
{
sum += arr[i]; // или sum = sum + arr[i];
}
std::cout << "Сумма элементов массива = " << sum << std::endl;
}
else if (regim == 2)
{
max = arr[0];
for (int i = 0; i < SIZE; i++)
{
if (max < arr[i])
max = arr[i];
}
std::cout << "Максимальный элемент в массиве = " << max << std::endl;
}
else
{
for (int i = 0; i < SIZE; i++)
{
if (arr[i] < 0)
count++;
}
std::cout << "Число отрицательных элементов в массиве = " << count << std::endl;
}
}
else
std::cout << "Доступен только 1-3 режим!" << std::endl;
return 0;
}