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

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

18.09.2013, 21:24. Показов 1239. Ответов 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
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,858
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru