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

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

19.08.2015, 10:54. Показов 4711. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru