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

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

19.08.2015, 10:54. Показов 4563. Ответов 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
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru