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

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

Войти
Регистрация
Восстановить пароль
 
Ce7eH_111
33 / 33 / 2
Регистрация: 17.11.2012
Сообщений: 109
Записей в блоге: 2
#1

Помогите найти ошибку в коде(цикл for проходит не по всем элементам массива) - C++

16.12.2012, 21:18. Просмотров 308. Ответов 5
Метки нет (Все метки)

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
#include "stdafx.h"
#include "iostream"
#include <clocale>
#include <stdio.h>
#include <math.h>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i = 1, f = 0, a, max = -100000, s[3] = {0,0,0};
 
    while (f < 3)
    {
        a = 0;
        cin>>a;
        if (a>0 || a<0) 
        {
            s[i] = s[i]+a;
        }
        else 
        {
            f=f+1;
            i=i+1;
        }
    }
    i = 1;
    for (i = 1;i <= 3;i = i+1)
    {
        if (s[i]>max) max = s[i];
    }
    printf("%d\n",max);
 
    system("Pause");
 
 
    return 0;
}
3 елемент масива в последнем форе не принимает участвия(((
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2012, 21:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Помогите найти ошибку в коде(цикл for проходит не по всем элементам массива) (C++):

Цикл For: найти ошибку в коде - C++
Проблема в том что у меня цикл бесконечен, он считает х = 0 всегда #include &quot;stdafx.h&quot; #include &lt;cmath&gt; #include &lt;iostream&gt; ...

Помогите найти ошибку в коде - C++
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; using namespace std; void mas(int ar, int count) { for (int i = 0;...

Помогите найти ошибку в коде - C++
#include &lt;vcl.h&gt; #pragma hdrstop #include &lt;iostream.h&gt; #include &lt;conio&gt; #include &lt;math.h&gt; ...

Помогите найти ошибку в коде - C++
// ConsoleApplication5.cpp: определяет точку входа для консольного приложения. // #include &quot;stdafx.h&quot; #include&lt;conio.h&gt; ...

Помогите найти ошибку в коде - C++
Всем привет.Пишу вот такой простенький код в Visual Studio #include &lt;iostream&gt; Int main() { ...

Помогите найти ошибку в коде - C++
Проблема вот в чём, есть программа, довольно большая по кол-ву строк и поэтому весь код показать не смогу, впринципе вопрос такой: -после...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
16.12.2012, 21:21 #2
потому что нумерация массивов начинается с нуля. s[0], s[1], s[2]. А тут начинается сразу со второго элемента и уходит за границу массива. i должно быть равно нулю.
0
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
16.12.2012, 21:22 #3
Цитата Сообщение от Ce7eH_111 Посмотреть сообщение
for (i = 1;i <= 3;i = i+1)
* * {
* * * * if (s[i]>max) max = s[i];
Здесь выход за границу массива. (часто эти ошибки вижу)
C++
1
2
3
4
    for (i = 0;i < 3; i = i+1)
    {
        if (s[i]>max) max = s[i];
    }
1
Croessmah
Эксперт CЭксперт С++
13214 / 7486 / 842
Регистрация: 27.09.2012
Сообщений: 18,403
Записей в блоге: 3
Завершенные тесты: 1
16.12.2012, 21:23 #4

Не по теме:

Магические числа...мммм,как же я их люблю


Цитата Сообщение от Ce7eH_111 Посмотреть сообщение
C++
1
2
3
4
for (i = 1;i <= 3;i = i+1) 
{
 if (s[i]>max) max = s[i];
}
здесь выход за пределы массива.
0
Ce7eH_111
33 / 33 / 2
Регистрация: 17.11.2012
Сообщений: 109
Записей в блоге: 2
16.12.2012, 21:26  [ТС] #5
Нет не помогло

Добавлено через 1 минуту
Суть задачи в том чтобы после 3 нуля прекратить считать суму
и вывести наибольшую суму
0
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
16.12.2012, 21:29 #6
C++
1
2
3
4
5
6
7
    int i = 1,
 
    while (f < 3)
    {
 
            s[i] = s[i]+a;
        }
То же самое. i должно быть равно нулю.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2012, 21:29
Привет! Вот еще темы с ответами:

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

SDL - помогите найти ошибку в коде - C++
Ребят, начал изучать SDL. Такая параша #include &lt;SDL.h&gt; int main () { SDL_Init (SDL_INIT_VIDEO | |SDL_INIT_VIDEO); if (...

Помогите найти ошибку в коде. Функция exit - C++
Доброго времени суток! Помогите разобраться, почему в коде(код определяет простое число или нет): #include&lt;iostream&gt; #include...

Помогите найти ошибку в коде. Подключение библиотек - C++
Помогите найти ошибку)) #include &lt;iostream&gt; using namespace std; int main() { float ab, bc; float ac; cout &lt;&lt; &quot;Vvedite...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.12.2012, 21:29
Ответ Создать тему
Опции темы

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