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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
#1

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

20.05.2011, 19:49. Просмотров 669. Ответов 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 раза а он спрашивает четвертый раз и его не считает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 19:49     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде)
Посмотрите здесь:

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
jonson
231 / 204 / 61
Регистрация: 18.03.2010
Сообщений: 749
20.05.2011, 20:07     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #2
мне надо чтобы я вводил 3 раза а он спрашивает четвертый раз и его не считает
А в чем проблема то? Всё считает. Сколько раз задали, столько и спрашивает.
один раз до цикла и три раза в цикле.
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 20:20  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #3
вот так у меня


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


тут четвертый раз я ввожу значение 10 а он его не считает
мне надо чтоб токо 3 раз я ввел и он посчитал среднюю сумуу
я что то не так написал там
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 20:29     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #4
надо
C++
1
i< 2
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 20:53  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #5
я токо понял 1 раз до цикла и 3 раз в цикле

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

теперь он не считает то что я ввел 3 -ий раз
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 21:58     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #6
Ну ты же три раза ввёл?
C++
1
     cout << c/i << "   " << i+ 1;
...А вообще попытайся все три раза вводить в цикле. Оно пограмотнее будет.
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 22:09  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #7
Цитата Сообщение от kravam Посмотреть сообщение
Ну ты же три раза ввёл?
C++
1
     cout << c/i << "   " << i+ 1;
...А вообще попытайся все три раза вводить в цикле. Оно пограмотнее будет.
да три раза но он запсивает в массив токо первые два и делит на два
а если я прибалю 1 к i он просто мне покажет что 3 а не самом деле делит на два

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


помогите как зделать
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 22:23     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #8
Ну так в чём дело? Делай цикл из десяти итераций. Не из девяти и не из одиннадцати а из десяти. Вперёд.
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 22:30  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #9
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;
вот так у меня а как это зделать
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 22:38     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #10
Блин, давай весь код. В нём я хочу увидеть цикл из десяти итераций в каждой из которых ты вводишь число и инициализируешь соответствующий элемент массива этим числом.
Последний раз тебе говорю- не три прохода не четыре и не пять а ДЕСЯТЬ. Потому что у тебя массив из ДЕСЯТИ ЧИСЕЛ.

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

Не по теме:

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

ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 23:03  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #12
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 значений записал в массив
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 23:07     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #13
ОК, теперь смотри. В цикле ты должен 10 раз ввести число и 10 же раз присвоить его значение определённом элементу массива. В цикле, понимаешь. Не вне цикла а В цикле.
Ну то есть ты понял, что строка 11 где ты вводишь число ВНЕ цикла это нехорошо.

Вот убери её. Но не просто закомменть, а обдуманно попытайся убрать. Код сюда.
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 23:25  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #14
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
kravam
быдлокодер
1691 / 878 / 44
Регистрация: 04.06.2008
Сообщений: 5,424
20.05.2011, 23:31     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #15
Правильно, а тебе не кажется, что 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;
     }
ELDQS
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 561
Записей в блоге: 1
20.05.2011, 23:36  [ТС]     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #16
точно так лучше
спасибо
Rezzzz
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 1
05.11.2016, 13:05     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #17
Он в цикле считает 0 за единицу по этому 4 раза
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2016, 18:10     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде)
Еще ссылки по теме:

Неожиданное поведение программы: почему не работает цикл while? - C++
Проблема: Цикл While при != является бесконечным ,а при == не выполняется ни разу Ожидаемое поведение: После входа в цикл N должно быть...

Неожиданное поведение программы: почему не работает цикл do while? - C++
Здравствуйте,подскажите,пожалуйста,почему не работает цикл ... Условие корявое? //Напишите программу, которая по начальной сумме денег...

Исправить ошибки в коде программы - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;complex&gt; using namespace std; int _tmain(int argc, _TCHAR* argv) {double...

Неожиданное поведение программы: почему программа внезапно завершает работу? - C++
Писал в codeblocks с компилятором gnu gcc. После запуска и ввода данных завершается работа программы. Словарь задан массивом...

Объяснить неожиданное поведение программы при использовании массивов и функции strcpy() - C++
Посмотрел в отладчике,получается,что конструктор берет переменную l,вместо k и записывает ее в sym ,почему? #include &lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
gru74ik
Модератор
Эксперт CЭксперт С++
3984 / 1731 / 194
Регистрация: 20.02.2013
Сообщений: 4,830
Записей в блоге: 21
05.11.2016, 18:10     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде) #18
Цитата Сообщение от Rezzzz Посмотреть сообщение
Он в цикле считает 0 за единицу по этому 4 раза
Rezzzz, правильнее сказать "нумерация элементов в массивах в Си и С++ начинается с нуля".
Yandex
Объявления
05.11.2016, 18:10     Неожиданное поведение программы: лишний виток цикла (найти и исправить ошибки в коде)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru