Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Melvil
47 / 46 / 13
Регистрация: 20.05.2015
Сообщений: 247
#1

Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку - C++

15.07.2015, 13:51. Просмотров 272. Ответов 3
Метки нет (Все метки)

Добрый день, решал задачу, нужно было сделать так, чтобы программа запомнила, какое число меньше 437 и записала его в переменную number, а также, чтобы потом уже не перезаписывала его, но почему то данные в функцию посылаются некорректно, где допущена ошибка?

Код:

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
#include <iostream>
using namespace std;
 
 
int check(int a, int b)
{
    if (b == 0)
    {
        b = a;
        return b;
    }
    else
        return 0;
}
 
int main()
{
    int N, H, number = 0;
    cin >> N;
    for (int i = 1; i <= N; i++)
    {
        cin >> H;
        if (H <= 437)
        {
            check(i, number);
        }
    }
    if (H != 0)
        cout << "Crash " << number << endl;
    else
        cout << "No crash" << endl;
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2015, 13:51     Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку
Посмотрите здесь:
Какое максимально число можно записать в любую переменную С++ C++
Сравнить уравнения и вывесети какое больше и какое меньше C++
Разбить число N на K элементов (не меньше, не больше) и записать так, чтобы множество не повторялось C++
C++ Передать в функцию целое число. Функция заменяет его на ближайшее простое число, которое больше или меньше исходного. Вернуться в main( ) и распечатат
Как запомнить какое-то число? C++
C++ Составить программу, которая позволяет ввести с клавиатуры шестнадцатеричное число и записать его в переменную a, выполнить требуемую проверку.
Определить количество элементов матрицы у которых слева в его строке находятся элементы меньше его,а справа больше C++
C++ Дано целое число. Если оно является положительным, то прибавить к нему 1; в противном случае не изменять его. Вывести полученное число
Дано натуральное число n>0 и последовательнось чисел из n елементов, найти количество всех чисел которые больше за 0 и меньше за 0 C++
C++ Число элементов массива, не больше максимального, но и не меньше минимального
C++ Программа должна запрашивать число меньше десяти и больше 100
C++ Как в C++ записать в переменную дробное число?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David_Ok
5 / 5 / 1
Регистрация: 12.01.2015
Сообщений: 87
15.07.2015, 14:09     Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку #2
Цитата Сообщение от Melvil Посмотреть сообщение
check(i, number);
Ты когда вызываешь ф-цию, то что она возвращает, ни куда не записывается, тебе либо нужно приписать какой-то переменной то что ф-ция вернет либо использовать ссылку
C++
1
check(i, &number);
Raali
622 / 326 / 34
Регистрация: 06.07.2013
Сообщений: 1,054
Завершенные тесты: 1
15.07.2015, 14:10     Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку #3
Цитата Сообщение от Melvil Посмотреть сообщение
int check(int a, int b)
тут функция получает аргумент b как копию переменной number, в итоге ты изменяешь b а number нет
функция должна получать b в виде ссылки на переменную :

C++
1
int check(int a, int& b)
либо второй вариант - так как функция все равно возвратит значение сделать в main так :

C++
1
number = check(i, number);
Melvil
47 / 46 / 13
Регистрация: 20.05.2015
Сообщений: 247
15.07.2015, 14:44  [ТС]     Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку #4
Цитата Сообщение от Raali Посмотреть сообщение
тут функция получает аргумент b как копию переменной number, в итоге ты изменяешь b а number нет
b вместо нуля становится равной 7-мизначному числу. Всё-таки можно ссылку на какой-нибудь текст?
Yandex
Объявления
15.07.2015, 14:44     Запомнить, какое число меньше 437, записать его в переменную и больше не изменять. Найти ошибку
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru