Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/22: Рейтинг темы: голосов - 22, средняя оценка - 4.68
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128

Решение алгоритма - укажите наименьшее из чисел x, при вводе которого алгоритм печатает сначала 3, а потом 4

19.08.2015, 10:54. Показов 4410. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получив на вход число x , алгоритм напечатает 2 числа: a и b. Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3,а потом 4.
И в условии дан пример написания на Си
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
void main()
{
    int x, a, b;
    scanf("%d", &x);
    a=0; b=0;
    while (x>0){
        a = a+1;
        if (b < (x%8){
            b = x%8;
        }
        x = x/8;
    }
    printf("%d\n%d", a, b);
}
Ну а мне нужно написать этот алгоритм на Си++. И я написал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
using namespace std;
void main(){
    int x, a, b;
    printf("%d", &x);
    a = 0; b = 0;
    while (x > 0){
        a = a = 1;
        if (b < (x % 8){
    before  "b = x % 8";}
        x = x / 8;
    
 int    printf("%d\n%d,a,b");
}
Но Visual studio показал, что есть следующие ошибки:
C++
1
2
3
4
5
6
7
Error   1   error C2065: 'before' : undeclared identifier   c:\users\денис\documents\visual studio 2013\projects\19 avgust\19 avgust\19avgust.cpp  10  1   19 avgust
Error   2   error C2143: syntax error : missing '}' before 'string' c:\users\денис\documents\visual studio 2013\projects\19 avgust\19 avgust\19avgust.cpp  10  1   19 avgust
Error   3   error C2064: term does not evaluate to a function taking 1 arguments    c:\users\денис\documents\visual studio 2013\projects\19 avgust\19 avgust\19avgust.cpp  10  1   19 avgust
Error   4   error C2143: syntax error : missing ')' before 'string' c:\users\денис\documents\visual studio 2013\projects\19 avgust\19 avgust\19avgust.cpp  10  1   19 avgust
Error   5   error C2440: 'initializing' : cannot convert from 'const char [10]' to 'int'    c:\users\денис\documents\visual studio 2013\projects\19 avgust\19 avgust\19avgust.cpp  13  1   19 avgust
    6   IntelliSense: expected a ')'    c:\Users\Денис\Documents\Visual Studio 2013\Projects\19 avgust\19 avgust\19avgust.cpp  9   18  19 avgust
    7   IntelliSense: expected a statement  c:\Users\Денис\Documents\Visual Studio 2013\Projects\19 avgust\19 avgust\19avgust.cpp  14  1   19 avgust
Как мне исправить эти ошибки?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.08.2015, 10:54
Ответы с готовыми решениями:

Укажите наименьшее из двух напечатанных чисел, при вводе которых алгоритм печатает сначала 12, а потом 5
Ниже написан алгоритм. Получив на вход число x, этот алгоритм печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе...

Укажите наибольшее из чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7
У меня была задача : ниже написана программа. Получив на вход число x, она печатает два числа a и b. Укажите наибольшее из таких чисел x,...

Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 2
Укажите наименьшее из таких чисел x, при вводе которого алгоритм печатает сначала 3, а потом 2 var x, a, b: integer; begin readln(x);...

35
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 03:16
Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include<iostream>
 
using namespace std;
 
void main()
{
    int x, a, b;
 
    cin >> x;
 
    a = 0; 
    b = 0;
 
    while (x > 0)
    {
        a += 1;
        if (b < (x % 8))
        {
            b = x % 8;
        }
 
        x = x / 8;
    }
 
     cout << a << endl << b << endl;
 
}
0
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
21.08.2015, 11:32  [ТС]
ASCII код который вы мне отправили, верен но когда я нажимаю в visual studio f5 у меня появляется пустой черный экран.

Добавлено через 2 минуты
И ещё мне хотелось бы узнать а почему используется цифра 8 . Например x = x / 8; Ведь в условии говорилось про 3 и 4
0
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 11:47
Черный экран появляется и ничего не выводит, потому программа ждет, что вы введете ей значение для Х. А вас спрашивают, при каких значениях это алгоритм выведет 3 и 4, это уже вы должны посмотреть на него и сказать при каком значении Х выведутся 3 и 4. Почему на 8? Да потому что так захотел человек, который Вам эту задачу и дал.

Не хотите думать, пробуйте методом тыка вводить значения, пока на выходе не получите 3 и 4
0
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
21.08.2015, 12:00  [ТС]
Ну да я начал действовать методом тыка но у меня после ввода цифры например 8 экран быстро гаснет я едва успеваю рассмотреть что там написано. Например ввожу 8 там возникают две цифры 2 и 1 , я едва успеваю рассмотреть их. С чем это связано?
0
 Аватар для ture
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
21.08.2015, 12:04
wron10, так не должно быть. Когда я пишу программы, то ни не гаснут.
попробуйте вслонячить
C++
1
system("pause");
0
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 12:28
Он вам сча вслонячит в начало в программы)

Добавлено через 46 секунд
После последнего соut вставьте это.

Добавлено через 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include<iostream>
 
using namespace std;
 
void main()
{
    int x, a, b;
     x = 0;
    while (true)
    {
 
    a = 0; 
    b = 0;
 
    while (x > 0)
    {
        a += 1;
        if (b < (x % 8))
        {
            b = x % 8;
        }
 
        x = x / 8;
    }
 
    if (a == 3 && b == 4)
        break;
 
     x++;
 
 
     }
 
     cout << x << endl;
     cout << a << endl << b << endl;
 
}
На выходе первое число - которые ты должен был сам угадать

Добавлено через 2 минуты
Только system ("pause >> void"); не забудь вставить
0
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
21.08.2015, 12:56  [ТС]
Да я попробовал вставить это в код. Но визуал стал показывать что у меня 4 ошибки:
1 IntelliSense: expected a declaration c:\Users\Денис\Documents\Visual Studio 2013\Projects\algoritm 2\algoritm 2\algoritm2.cpp 11 1 algoritm 2
2 2 IntelliSense: expected a declaration c:\Users\Денис\Documents\Visual Studio 2013\Projects\algoritm 2\algoritm 2\algoritm2.cpp 12 1 algoritm 2
3 4 IntelliSense: expected a declaration c:\Users\Денис\Documents\Visual Studio 2013\Projects\algoritm 2\algoritm 2\algoritm2.cpp 14 1 algoritm 2
3 IntelliSense: '#' not expected here c:\Users\Денис\Documents\Visual Studio 2013\Projects\algoritm 2\algoritm 2\algoritm2.cpp 12 3 algoritm 2
Естественно при нажатии F5 у меня черный экран не возникает.
Ведь сначала обычно всегда идёт #include<iostream>(так меня учили) Или нужно вбивать это в черный экран?

Добавлено через 5 минут
system ("pause >> void"); А куда именно нужно это вставить?
Я вроде вставил эту строчку в самом конце , ниже последнего cout ,но вообще возникла такая проблема я скопировал последний код себе в визуал черный экран возник но в него ничего не вбивается, добавление system ("pause >> void"); ситуацию не изменило.
0
 Аватар для ture
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
21.08.2015, 12:57
C++
1
#include<iostream>
Если пропустить, то я получаю похожие ошибки.
0
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 12:58
Я вообще-то написал #include <iostream>
0
 Аватар для ture
553 / 361 / 206
Регистрация: 27.11.2014
Сообщений: 1,049
21.08.2015, 13:05
ASCII, у си и с++ есть порог входа, на котором приходится крепко верить, что позже поймешь, для чего все эти закорючки в коде. Но упертые парни, набивающие шишки, чтоб потом стать гуру бьются с непонятками со всем героизмом, теряя силы и нервы. Потом изматываются, соглашаются потерпеть с пониманием, просто копируя "молитвы" из проги в прогу. И однажды открыв книжку по языку, понимают, что она стала ближе и понятней и вот они пояснения молитвам, которые они тщетно добивались от других. Время и усердие побеждают трудности.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
21.08.2015, 15:52
Цитата Сообщение от ASCII Посмотреть сообщение
void main()
это ещё что? Современные компиляторы требуют, чтобы main возвращала значение типа int.
0
-1 / 5 / 0
Регистрация: 14.07.2014
Сообщений: 128
21.08.2015, 15:56  [ТС]
я сделал int main() но все равно те же проблемы.
0
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
21.08.2015, 16:17
wron10, потому что нужно суть алгоритма понять. Здесь пользователь (а не программа) должен ввести такое минимальное число, которое трижды может делиться до нуля (потому что требуется, чтобы число 'а' было равно 3). Плюс, в процессе этих делений нужно найти максимальный остаток от деления на 8, который по условию (число 'b') должен быть равен 4. И сейчас я поясню, почему этим числом является 68.

В первой итерации (мы ввели х = 68) проверяется остаток от деления х на 8. Он равен 4. Потом число уменьшается в 8 раз (поскольку здесь деление целочисленное, делить 68 на 8 все равно, что делить 64 на 8 — в первом случае дробная часть отметается все равно). Поэтому х ко второй итерации будет равен восьми.

Во второй итерации вновь проверяется остаток от деления х на 8. Он равен нулю (8 % 8 == 0), поэтому 'b' не обновляется. К третьей итерации х будет равен одному. Остаток от деления на 8 будет равен одному (при с % d, где c <= d, остатком будет число 'c'). 'b' вновь не обновляется, а х после деления будет равен нулю. Все, цикл окончен, выводятся результаты. 'a' равен 3 (было три итерации), 'b' равен 4 (максимальный остаток == 4). Все.

Насчет программ, начинать можно с чего угодно, было бы лишь желание. Боятся сложности языков не стоит, просто берите и старайтесь вникнуть в его суть. Я с Си и начинал, и очень этому рад, потому что Паскали терпеть не мог, но по долгу службы выучить пришлось и его. Спрашивайте о непонятных вещах здесь, вам помогут. Ну и вот на С++ программа (чтобы перенести любую Сишную программу на плюсы, обычно достаточно заменить printf/scanf на std::cout/std::cin)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
int main()
{
    int x, a, b;
    std::cin >> x;
 
    a = 0; b = 0;
    while (x>0){
        a = a + 1;
        if (b < (x % 8)) {
            b = x % 8;
        }
        x = x / 8;
    }
    std::cout << a << " " << b;
 
    std::cin.get();
}
Kerry_Jr, VS 2013, у меня все с void в порядке.
0
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 16:33
Kerry_Jr, когда я писал это код, я скопировал его на телефоне, код ТС, и поправил, чтобы было корректно, про возвращаемое значение main я знаю. Но к ошибке оно не приведет.
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
21.08.2015, 17:09
tnk500, ASCII, MinGW, на студии пока не опробовал
Code
1
error: '::main' must return 'int'
Добавлено через 15 минут
wron10, ответ такой
https://www.cyberforum.ru/cgi-bin/latex.cgi?{8}^{a-1} + b
0
 Аватар для ASCII
99 / 70 / 13
Регистрация: 15.12.2013
Сообщений: 463
21.08.2015, 19:30
Kerry_Jr, VS соберет
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.08.2015, 19:30
Помогаю со студенческими работами здесь

Укажите наименьшее из таких чисел х, при вводе которых алгоритм печатает сначала 4, а потом 3
Получив на вход число х, этот алгоритм печатает два числа К и R. Укажите наименьшее из таких чисел х, при вводе которых алгоритм печатает...

Укажите наименьшее из таких чисел Х, при которых алгоритм печатает сначала 3, а потом 7
Получив на вход число Х, программа печатает 2 числа L и М. Укажите наименьшее из таких чисел Х, при которых алгоритм печатает сначала 3, а...

Укажите наибольшее из таких чисел a, при вводе которых алгоритм печатает сначала 4, потом 7
Получив на вход число a, этот алгоритм печатает два числа, k и m. Укажите наибольшее из таких чисел a, при вводе которых алгоритм печатает...

Укажите наибольшее из таких чисел х, при вводе которых алгоритм печатает сначала 3, а потом 7
Получив на вход число х, этот алгоритм печатает два числа К и R. Укажите наибольшее из таких чисел х, при вводе которых алгоритм печатает...

Определить наибольшее и наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7
Укажите наибольшее и наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 7. var x, a, b:integer; begin ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
36
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru