Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 06.08.2017
Сообщений: 2
1

Работа с циклом for

05.11.2018, 18:10. Показов 1550. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, здравствуйте, вопрос, предположительно, будет странный, но важный для меня, так как не знаю, в чем дело.
С недавнего времени учу С++, и вот столкнулся с такой проблемой при изучении функции "for". По учебнику Майкла Доусона "Изучаем С++ через программирование игр" создаю в MS Visual Studio 2017 такую программку, в точности как написано в учебнике:
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
#include <iostream>
using namespace std;
 
int main()
{
    cout << "Counting forward: \n";
    for (int i = 0; i < 10; ++i);
    {
        cout << i << " ";
    }
    cout << "\n\nCounting backward: \n";
    for (int i = 9; i >= 0; --i);
    {
        cout << i << " ";
    }
    cout << "\n\nCounting by fives: \n";
    for (int i = 0; i <= 50; i += 5);
    {
        cout << i << " ";
    }
    cout << "\n\nCounting with null statements: \n";
    for (; count < 10; );
    {
        cout << count << " ";
        ++count;
    }
    cout << "\n\nCounting with nested for loops: \n";
    const int ROWS = 5;
    const int COLUMNS = 3;
    for (int i = 0; i < ROWS; ++i);
    {
        for (int j = 0; j < COLUMNS; ++j);
        {
            cout << i << "," << j << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
Судя по словам учебника всё должно быть ок. Однако, программа выдает множество ошибок.
Первая, и самая непонятная - в выражении
cout << i << " ";
мне подчеркивают переменную "i" и пишет, что "идентификатор i не определен". Почему? я же объявил переменную в прошлой строчке, что не так??
Вторая - вот в этой строке
for (; count < 10; );
прога подчеркивает мне точку с запятой, которая идет после числа 10, и пишет "требуется угловая скобка >". Почему? Ведь в самой первой подобной строчке
for (int i = 0; i < 10; ++i);
у него претензий нет, а тут вдруг добавь скобку и хоть ты тресни.
Третья - я так думаю проистекает из второй:
cout << count << " ";
++count;
Прога орёт на первый оператор <<, и пишет "отсутствует оператор <<, соответствующий этим операндам", и во второй строчке орёт на слово count, и пишет "не удается определить экземпляр шаблон функции "std::count", использование которого предполагается".
Дорогие знатоки, прошу Вашей помощи, так как раньше всё что было в учебнике программа воспринимала нормально, может там чего не допечатали, или я тупой, подскажите! Заранее спасибо!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2018, 18:10
Ответы с готовыми решениями:

работа с циклом for
Ребят, я чот запутался с реализацией этой задачи...

Работа с циклом do while
Здравствуйте! есть задача в которой используется метод прогонки с проверкой условия. я использовала...

Работа с циклом
Хотел создать список всей музыки на внешнем жестком диске с помощью BAT файлаfor /r H:\ %%B in...

Работа с циклом
Подскажите, как при выполнении условия в цикле сделать так, чтобы он переходил на следующий шаг...

3
150 / 132 / 53
Регистрация: 03.01.2017
Сообщений: 472
05.11.2018, 18:17 2
Лучший ответ Сообщение было отмечено Essex как решение

Решение

После цикла
C++
1
for (int i = 0; i < 10; ++i);
желательно убрать точку с запятой, повторить для остальных

Для цикла нужно объявить count
C++
1
for (; count < 10; )
Получится
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
#include <iostream>
#include <stdlib.h>
using namespace std;
 
int main()
{
    cout << "Counting forward: \n";
    for (int i = 0; i < 10; ++i)
    {
        cout << i << " ";
    }
    cout << "\n\nCounting backward: \n";
    for (int i = 9; i >= 0; --i)
    {
        cout << i << " ";
    }
    cout << "\n\nCounting by fives: \n";
    for (int i = 0; i <= 50; i += 5)
    {
        cout << i << " ";
    }
    cout << "\n\nCounting with null statements: \n";
    int count = 0;
    for (; count < 10; )
    {
        cout << count << " ";
        ++count;
    }
    cout << "\n\nCounting with nested for loops: \n";
    const int ROWS = 5;
    const int COLUMNS = 3;
    for (int i = 0; i < ROWS; ++i)
    {
        for (int j = 0; j < COLUMNS; ++j)
        {
            cout << i << "," << j << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}
Кликните здесь для просмотра всего текста

Counting forward:
0 1 2 3 4 5 6 7 8 9

Counting backward:
9 8 7 6 5 4 3 2 1 0

Counting by fives:
0 5 10 15 20 25 30 35 40 45 50

Counting with null statements:
0 1 2 3 4 5 6 7 8 9

Counting with nested for loops:
0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2
3,0 3,1 3,2
4,0 4,1 4,2
1
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,669
05.11.2018, 18:20 3
Сам, что ли, не можешь исправить? Откуда там ; после for?
count почему не объявлена? Смотри, как в первом цикле.
0
0 / 0 / 0
Регистрация: 06.08.2017
Сообщений: 2
05.11.2018, 18:25  [ТС] 4
Божимой, спасибо огромное! Я даже рад, что это я оказался невнимательным простофилей , а не с программой что то не так!
Спасибо!
0
05.11.2018, 18:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2018, 18:25
Помогаю со студенческими работами здесь

работа с циклом
Помогите пожалуйста!!! В памяти находятся пять чисел. Найдите наименьшее из них.

Работа с циклом FOR
День добрый, требуется циклом пройтись по комбобоксам и едитам и зделать их видимыми, ну или...

Работа с циклом
Ребят, я хочу, чтобы в каждой ячейке генерировался число и в каждой следующей ячейке число было на...

Работа с циклом
У меня есть вот такой цикл, здесь выводится список новостей $result = mysql_query(&quot;SELECT...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru