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

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

18.09.2013, 21:24. Показов 1250. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пишу программу, которая производит различные действия с одномерным массивом. Возникла следующая проблема: цикл 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");
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2013, 21:24
Ответы с готовыми решениями:

Создать программу по всем 3 видам циклов...цикл с параметром,цикл с условием,цикл,и цикл с предусловием...
Найти сумму чисел 1 в квадрате до 10 c квадрате...операцию возведению в степень не использовать учесть особенности получения квадратного...

Цикл с предусловием, цикл с постусловием и цикл с параметром
Объясните пожалуйста как делать эти циклы. У меня не получается. Можете сделать как на фото, или на подобии. Заранее спасибо)

Почему не сравнивает строки и вообще не заходит в цикл?
void arr::Dateout() { string b; cout &lt;&lt; &quot;Input date of creating file:&quot;; getline(cin, b); for (int i = 0; i &lt; 4; i++) { ...

9
5500 / 4895 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
18.09.2013, 21:37
Среда какая?
0
249 / 219 / 63
Регистрация: 30.07.2013
Сообщений: 465
18.09.2013, 22:14
И еще вопрос: как Вы определили, что for не работают? Я вижу, что многие функции возвращают что-то осмысленное, но эти результаты никак не используются.
0
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 3
19.09.2013, 10:10  [ТС]
Ну допустим когда захожу в функцию interval, он предлагает ввести числа point1 и point2, а дальше ничего не делается
0
179 / 24 / 7
Регистрация: 16.05.2013
Сообщений: 181
19.09.2013, 10:22
Evgeny1994, делается .
во-первых по вашей логике нужно зайти в функцию output( int mas[] ) чтобы вывести результаты на экран
во-вторых вы не передаёте массив из 10 целых значений по ссылке, и получается что в функциях создаётся новый временный массив из техже 10 элементов, и после выхода из функции они удаляются( результаты и массив )
в-третьих зачем использовать return , если в дальнейшем его не использовать, мне кажется вы не понимаете зачем нужен return в функциях
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
19.09.2013, 10:25
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
а дальше ничего не делается
а что должно делатся?
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
interval(mas);
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
return counter;
возвращается counter но он тут же потерялся
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
int counter = 0;
локальная переменная, она теряется при выходе из функции, а результат возвращаемый функцией нигде не сохраняется
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.09.2013, 11:05
Цитата Сообщение от Нету имени Посмотреть сообщение
во-вторых вы не передаёте массив из 10 целых значений по ссылке, и получается что в функциях создаётся новый временный массив из техже 10 элементов, и после выхода из функции они удаляются( результаты и массив )
Кто Вам это сказал? При передаче массива в функцию передается указатель на его первый элемент.

Evgeny1994, вставьте в цикл какой-нибудь вывод на экран и убедитесь работает цикл или нет.
0
0 / 0 / 0
Регистрация: 18.09.2013
Сообщений: 3
19.09.2013, 12:38  [ТС]
О, как оказалось, работает Но нужное значение просто не возвращает. Что с этим делать? Я не могу понять, что я не так написал там
0
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 155
19.09.2013, 12:53
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
О, как оказалось, работает Но нужное значение просто не возвращает. Что с этим делать? Я не могу понять, что я не так написал там
Вполне возвращает, просто замените, например, interval(mas); на cout << interval(mas) << endl;
0
:)
Эксперт С++
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
19.09.2013, 12:55
Цитата Сообщение от Evgeny1994 Посмотреть сообщение
Но нужное значение просто не возвращает
Вывод добавьте. Либо внутрь функции. Либо в свитче:
C++
1
2
3
4
case 7:
        system ("cls");
        cout << interval(mas) << endl;
        break;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.09.2013, 12:55
Помогаю со студенческими работами здесь

Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается
Нужно,чтобы был выбор программа искала максимальный элемент по столбцу и ставила его на 1 место....никак не могу добавить ........... ...

Цикл: Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20
Используя цикл while, выведите на экран для числа 2 его степени от 0 до 20. Возведение в степень в Python обозначается как **. Фрагмент...

Начать вложенный цикл не с первого элемента и по условию вернуться в основной цикл
Добрый день. На самом деле, проблема чуть шире, чем в названии топика. Есть цикл, в котором идёт перебор массива. Внутри цикла есть...

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include&lt;stdio.h&gt; #include&lt;locale.h&gt; #include...

Написать в турбо паскале, Цикл с параметром, Цикл, с постусловием, и с предусловием пожалуйста


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru