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

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

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

Author24 — интернет-сервис помощи студентам
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.05.2011, 19:49
Ответы с готовыми решениями:

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

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

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

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

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


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


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

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


помогите как зделать
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
20.05.2011, 22:23 8
Ну так в чём дело? Делай цикл из десяти итераций. Не из девяти и не из одиннадцати а из десяти. Вперёд.
0
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 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;
вот так у меня а как это зделать
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
20.05.2011, 22:38 10
Блин, давай весь код. В нём я хочу увидеть цикл из десяти итераций в каждой из которых ты вводишь число и инициализируешь соответствующий элемент массива этим числом.
Последний раз тебе говорю- не три прохода не четыре и не пять а ДЕСЯТЬ. Потому что у тебя массив из ДЕСЯТИ ЧИСЕЛ.

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

Не по теме:

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

0
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 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 значений записал в массив
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
20.05.2011, 23:07 13
ОК, теперь смотри. В цикле ты должен 10 раз ввести число и 10 же раз присвоить его значение определённом элементу массива. В цикле, понимаешь. Не вне цикла а В цикле.
Ну то есть ты понял, что строка 11 где ты вводишь число ВНЕ цикла это нехорошо.

Вот убери её. Но не просто закомменть, а обдуманно попытайся убрать. Код сюда.
1
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 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
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
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;
     }
1
10 / 10 / 1
Регистрация: 07.04.2011
Сообщений: 568
Записей в блоге: 1
20.05.2011, 23:36  [ТС] 16
точно так лучше
спасибо
0
0 / 0 / 0
Регистрация: 12.06.2015
Сообщений: 1
05.11.2016, 13:05 17
Он в цикле считает 0 за единицу по этому 4 раза
0
Модератор
Эксперт CЭксперт С++
5284 / 2371 / 342
Регистрация: 20.02.2013
Сообщений: 5,770
Записей в блоге: 20
05.11.2016, 18:10 18
Цитата Сообщение от Rezzzz Посмотреть сообщение
Он в цикле считает 0 за единицу по этому 4 раза
Rezzzz, правильнее сказать "нумерация элементов в массивах в Си и С++ начинается с нуля".
0
05.11.2016, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2016, 18:10
Помогаю со студенческими работами здесь

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

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

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

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

Неожиданное поведение программы: std::getline считывает строку только раз и на этом программа завершается (найти ошибку)
Строку считывает только раз и на этом программа завершается Code::blocks 17.12 #include...

Суммировать числа в цикле (неожиданное поведение программы)
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; int main() { int i,x,s=0; for(i=0;i&lt;x;i++){...


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

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