Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1

Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде)

20.05.2011, 19:49. Показов 1615. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#include <iostream>
using namespace std;
int main()
{
    int c =0;
    int ma[3];
    cout << "Vvedi znachenie "<<"\n";
    int i=0
    ;
    int temp ;
    cin >> temp;
    for (;i<3 && temp>=0; i++)
    {
          ma[i] = temp;
          
          cout << "Vvedi znachenie "<<"\n";
          cin >> temp;
          }
     for (int n =0; n<i; n++)
     c+=ma[n];
     cout << c/i << "   " << i;
     cin >> c;
     return 0;
     }
мне надо чтобы я вводил 3 раза а он спрашивает четвертый раз и его не считает
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2011, 19:49
Ответы с готовыми решениями:

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

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

Неожиданное поведение программы: исправить ошибку в коде
извиняюсь за возможно глупый вопрос, но почему программа говорит,что в выделенной строке ошибка? хотел написать в ней: а в квадрате + в в...

17
 Аватар для jonson
240 / 213 / 84
Регистрация: 18.03.2010
Сообщений: 750
20.05.2011, 20:07
мне надо чтобы я вводил 3 раза а он спрашивает четвертый раз и его не считает
А в чем проблема то? Всё считает. Сколько раз задали, столько и спрашивает.
один раз до цикла и три раза в цикле.
0
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 20:20  [ТС]
вот так у меня


Vvedi znachenie
10
Vvedi znachenie
10
Vvedi znachenie
10
Vvedi znachenie
10
10 3


тут четвертый раз я ввожу значение 10 а он его не считает
мне надо чтоб токо 3 раз я ввел и он посчитал среднюю сумуу
я что то не так написал там
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 20:29
надо
C++
1
i< 2
0
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 20:53  [ТС]
я токо понял 1 раз до цикла и 3 раз в цикле

Добавлено через 1 минуту
Цитата Сообщение от kravam Посмотреть сообщение
надо
C++
1
i< 2
а теперь
Vvedi znachenie
10
Vvedi znachenie
10
Vvedi znachenie
10
10 2

теперь он не считает то что я ввел 3 -ий раз
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 21:58
Ну ты же три раза ввёл?
C++
1
     cout << c/i << "   " << i+ 1;
...А вообще попытайся все три раза вводить в цикле. Оно пограмотнее будет.
0
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 22:09  [ТС]
Цитата Сообщение от kravam Посмотреть сообщение
Ну ты же три раза ввёл?
C++
1
     cout << c/i << "   " << i+ 1;
...А вообще попытайся все три раза вводить в цикле. Оно пограмотнее будет.
да три раза но он запсивает в массив токо первые два и делит на два
а если я прибалю 1 к i он просто мне покажет что 3 а не самом деле делит на два

Добавлено через 3 минуты
надо создать программу которая считывает в массив 10 значений, а потом показывает среднюю величину чисел и еще выводить скоко значений было записано в массив
и прерываться когда я ввожу нечисло


помогите как зделать
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 22:23
Ну так в чём дело? Делай цикл из десяти итераций. Не из девяти и не из одиннадцати а из десяти. Вперёд.
0
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 22:30  [ТС]
C++
1
2
3
4
5
6
7
8
 int temp ;
    cin >> temp;
    for (;i<3 && temp>=0; i++)
    {
          ma[i] = temp;
          
          cout << "Vvedi znachenie "<<"\n";
          cin >> temp;
вот так у меня а как это зделать
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 22:38
Блин, давай весь код. В нём я хочу увидеть цикл из десяти итераций в каждой из которых ты вводишь число и инициализируешь соответствующий элемент массива этим числом.
Последний раз тебе говорю- не три прохода не четыре и не пять а ДЕСЯТЬ. Потому что у тебя массив из ДЕСЯТИ ЧИСЕЛ.

Чё непонятно лучше переспроси.
0
20.05.2011, 22:50

Не по теме:

Цитата Сообщение от kravam Посмотреть сообщение
Последний раз тебе говорю- не три прохода не четыре и не пять а ДЕСЯТЬ. Потому что у тебя массив из ДЕСЯТИ ЧИСЕЛ
Вам бы преподавательством заняться....:)

0
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 23:03  [ТС]
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
#include <iostream>
using namespace std;
int main()
{
    int c =0;
    int ma[10];
    cout << "Vvedi znachenie "<<"\n";
    int i=0
    ;
    int temp ;
    cin >> temp;
    for (;i<10 && temp>=0; i++)
    {
          ma[i] = temp;
          
          cout << "Vvedi znachenie "<<"\n";
          cin >> temp;
          }
     for (int n =0; n<i; n++)
     c+=ma[n];
     cout << c/i << "   " << i;
     cin >> c;
     return 0;
     }
здесь он у меня спрашивает ввести число 11 раз
11-ый раз я ввожу впустую

Добавлено через 1 минуту
я не пойму как зделать так чтобы он спрашивал меня 10 раз и все 10 значений записал в массив
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 23:07
ОК, теперь смотри. В цикле ты должен 10 раз ввести число и 10 же раз присвоить его значение определённом элементу массива. В цикле, понимаешь. Не вне цикла а В цикле.
Ну то есть ты понял, что строка 11 где ты вводишь число ВНЕ цикла это нехорошо.

Вот убери её. Но не просто закомменть, а обдуманно попытайся убрать. Код сюда.
1
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 23:25  [ТС]
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
#include <iostream>
using namespace std;
int main()
{
    int c =0;
    int ma[3];
    cout << "Vvedi znachenie "<<"\n";
    int i=0
    ;
    int temp ;
    
    for (;i<3 &&  cin >> temp; i++)
    {
        if (temp<0)
        break;
               ma[i] = temp;
          
          cout << "Vvedi znachenie "<<"\n";
          
          }
     for (int n =0; n<i; n++)
     c+=ma[n];
     cout << c/i << "   " << i;
     cin >> c;
     return 0;
     }
вот все таки получилось

Добавлено через 4 минуты
просто долго вводить надо десять чисел вот и пробовал на 3
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
20.05.2011, 23:31
Правильно, а тебе не кажется, что temp здесь лишняя сущность?
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
#include <iostream>
using namespace std;
int main()
{
    int c =0;
    int ma[3];
    cout << "Vvedi znachenie "<<"\n";
    int i=0
    ;
    
    for (;i<3 &&  cin >> ma[i]; i++)
    {
        if (ma[i]< 0)
        break;
          
          cout << "Vvedi znachenie "<<"\n";
          
          }
     for (int n =0; n<i; n++)
     c+=ma[n];
     cout << c/i << "   " << i;
     cin >> c;
     return 0;
     }
1
 Аватар для ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 23:36  [ТС]
точно так лучше
спасибо
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 1
05.11.2016, 13:05
Он в цикле считает 0 за единицу по этому 4 раза
0
Модератор
Эксперт CЭксперт С++
 Аватар для sourcerer
5288 / 2376 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
05.11.2016, 18:10
Цитата Сообщение от Rezzzz Посмотреть сообщение
Он в цикле считает 0 за единицу по этому 4 раза
Rezzzz, правильнее сказать "нумерация элементов в массивах в Си и С++ начинается с нуля".
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2016, 18:10
Помогаю со студенческими работами здесь

Неожиданное поведение программы: найти ошибку в коде
Программа запрашивает у пользователя «Сколько Вам лет?» . Вы вводите положительное число до 100. Программа должна выдать пол-ный ответ «...

Вычислить и вывести значение суперпозиции функций (неожиданное поведение программы: найти ошибку в коде)
Вот смотрите, есть условие задачи: ввести произвольные значения х, i (номер варианта 20), a, b, c, d можно задать как сталые и вычислить...

Вычислить значение функции (неожиданное поведение программы - как исправить?)
Мне нужно вичислить значение функции у= (4*(x^3)-2*(x^2)+5);для значении x от -3 до 1.Написан такой код: #include&lt;stdio.h&gt; ...

Вычислить значение тригонометрического выражения (неожиданное поведение программы - как исправить?)
Мне нужно вычислить значение выражения Я написал такой код , но с числами больше 6 не работает.Подскажите что не так? ...

Найти минимальный и максимальный элементы (неожиданное поведение программы: массив не передаётся в функцию)
Ребята,помогите,пожалуйста,разобраться с функциями. Программа не хочет передавать значение массива в функцию(17 строчка). Нужно создать...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru