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

Цикл: цикл for вообще никак не воспринимается транслятором - C++

Восстановить пароль Регистрация
 
Evgeny1994
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 3
18.09.2013, 21:24     Цикл: цикл for вообще никак не воспринимается транслятором #1
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл for вообще никак не воспринимается транслятором и я не знаю почему. Просто ни один for в программе не выполняется, все в функциях работает только до for, как только появляется этот цикл, происходит выход из функции Подскажите пожалуйста, как это исправить.


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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <iostream>
#include <locale>
#include <cstdlib>
using namespace std;
 
int random(int mas[])
{
    for (int i = 0; i < 9; i++)
        mas[i] = rand();
    return 0;
}
 
int output(int mas[])
{
    for (int i = 0; i < 9; i++)
        cout << mas[i] << endl;
    return 0;
}
 
int manfill(int mas[])
{
    for (int i = 0; i < 9; i++)
        cin >> mas[i];
    return 0;
}
 
int amount(int mas[])
{
    int amount = 0;
    for (int i = 0; i < 9; i++)
        amount = amount + mas[i];
    return amount;
}
 
bool check(int mas[])
{
    cout << "true - all the elements of positive, false - there are negative" << endl;
    for (int i = 0; i < 9; i++)
    {
        if (mas[i] < 0) return false; 
    }
    return true;
}
 
int count(int mas[])
{
    int quantity = 0;
    for (int i = 0; i < 9; i++)
    {
        if (mas[i] % 2 == 0) quantity = quantity+1;
    }
    return quantity;
}
 
int interval(int mas[])
{
    int point1, point2;
    int counter = 0;
    cout << "enter the interval" << endl;
    cin >> point1 >> point2;
    for (int i = 0; i < 9; i++)
    {
        if ((mas[i] > point1) && (mas[i] < point2)) counter = counter + 1;
    }
    return counter;
}
 
 
int main()
{
    setlocale (LC_ALL, "russian");
    int mas[10];
    int menu, i;
    do {
    cout << "1. Display  array on the screen" << endl;
    cout << "2. Fill the array manually" << endl;
    cout << "3. Fill an array with random numbers" << endl;
    cout << "4. Calculate the sum of an array" << endl;
    cout << "5. Check whether all elements of an array of positive" << endl;
    cout << "6. Find the even number of elements in the array" << endl;
    cout << "7. The number of array elements in the interval [a; b]." << endl;
    cout << "8. Exit" << endl;
    cout << "Select the menu item" << endl;
    cin >> menu;
    switch (menu)
    {
    case 1:
        system ("cls");
        output(mas);
        break;
    case 2:
        system ("cls");
        manfill(mas);
        break;
    case 3: 
        system ("cls");
        random(mas);
        break;
    case 4:
        system ("cls");
        amount(mas);
        break;
    case 5: 
        system ("cls");
        check(mas);
        break;
    case 6:
        system ("cls");
        count(mas);
        break;
    case 7:
        system ("cls");
        interval(mas);
        break;
    }
    
    } while (menu < 8);
    system ("cls");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2013, 21:24     Цикл: цикл for вообще никак не воспринимается транслятором
Посмотрите здесь:

C++ Цикл y=1+x+x^2+x^3+...+x^n;
Цикл for C++
Цикл с параметром и цикл с условием C++
C++ Цикл for/Цикл while Помогите срочно пожалуйста...
C++ Изменить цикл for на цикл do-while
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.09.2013, 21:37     Цикл: цикл for вообще никак не воспринимается транслятором #2
Среда какая?
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
18.09.2013, 22:14     Цикл: цикл for вообще никак не воспринимается транслятором #3
И еще вопрос: как Вы определили, что for не работают? Я вижу, что многие функции возвращают что-то осмысленное, но эти результаты никак не используются.
Evgeny1994
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 3
19.09.2013, 10:10  [ТС]     Цикл: цикл for вообще никак не воспринимается транслятором #4
Ну допустим когда захожу в функцию interval, он предлагает ввести числа point1 и point2, а дальше ничего не делается
Нету имени
177 / 22 / 2
Регистрация: 16.05.2013
Сообщений: 181
19.09.2013, 10:22     Цикл: цикл for вообще никак не воспринимается транслятором #5
Evgeny1994, делается .
во-первых по вашей логике нужно зайти в функцию output( int mas[] ) чтобы вывести результаты на экран
во-вторых вы не передаёте массив из 10 целых значений по ссылке, и получается что в функциях создаётся новый временный массив из техже 10 элементов, и после выхода из функции они удаляются( результаты и массив )
в-третьих зачем использовать return , если в дальнейшем его не использовать, мне кажется вы не понимаете зачем нужен return в функциях
ValeryS
Модератор
6377 / 4843 / 442
Регистрация: 14.02.2011
Сообщений: 16,059
19.09.2013, 10:25     Цикл: цикл for вообще никак не воспринимается транслятором #6
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
а дальше ничего не делается
а что должно делатся?
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
interval(mas);
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
return counter;
возвращается counter но он тут же потерялся
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
int counter = 0;
локальная переменная, она теряется при выходе из функции, а результат возвращаемый функцией нигде не сохраняется
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
19.09.2013, 11:05     Цикл: цикл for вообще никак не воспринимается транслятором #7
Цитата Сообщение от Нету имени Посмотреть сообщение
во-вторых вы не передаёте массив из 10 целых значений по ссылке, и получается что в функциях создаётся новый временный массив из техже 10 элементов, и после выхода из функции они удаляются( результаты и массив )
Кто Вам это сказал? При передаче массива в функцию передается указатель на его первый элемент.

Evgeny1994, вставьте в цикл какой-нибудь вывод на экран и убедитесь работает цикл или нет.
Evgeny1994
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 3
19.09.2013, 12:38  [ТС]     Цикл: цикл for вообще никак не воспринимается транслятором #8
О, как оказалось, работает Но нужное значение просто не возвращает. Что с этим делать? Я не могу понять, что я не так написал там
rublag
52 / 52 / 4
Регистрация: 06.02.2013
Сообщений: 156
19.09.2013, 12:53     Цикл: цикл for вообще никак не воспринимается транслятором #9
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
О, как оказалось, работает Но нужное значение просто не возвращает. Что с этим делать? Я не могу понять, что я не так написал там
Вполне возвращает, просто замените, например, interval(mas); на cout << interval(mas) << endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.09.2013, 12:55     Цикл: цикл for вообще никак не воспринимается транслятором
Еще ссылки по теме:

Цикл Do while в For C++
Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается C++
Задание на цикл с параметром и цикл с постусловием C++

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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
19.09.2013, 12:55     Цикл: цикл for вообще никак не воспринимается транслятором #10
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
Но нужное значение просто не возвращает
Вывод добавьте. Либо внутрь функции. Либо в свитче:
C++
1
2
3
4
case 7:
        system ("cls");
        cout << interval(mas) << endl;
        break;
Yandex
Объявления
19.09.2013, 12:55     Цикл: цикл for вообще никак не воспринимается транслятором
Ответ Создать тему
Опции темы

Текущее время: 19:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru