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

Найти ошибку в программе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ “Крестики-нолики” http://www.cyberforum.ru/cpp-beginners/thread697097.html
Напишите игру “Крестики-нолики”. Программа выводит игровое поле для двух игроков, проверяет правильность ходов, следит за ситуацией на поле, и выводит победителя. Программа играет с человеком, выполняя самые выгодные ходы ориентируясь по ситуации на поле. В начале предлагается выбрать – играть с человеком, или с компьютером. В конце игры программа предлагает сыграть ещё раз.
C++ Среди элементов ниже главной диагонали отобрать те, которые превышают максимум второго столбца матрицы как среди эллементов лежащих ниже главной диагонали отобрать те которые превышают максимум второго столбца матрицы #include<iostream> #include <cstdlib> using namespace std; int main () { const int n =5;//столбцы n=5 строки n= 5 int matr;// матрица nxn for(int i=0; i<n; i++)//цикл для заданий элементов матрицы // for(int j=0; j<m; j++)//цикл для задания элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread697082.html
Библиотека <ncursesw/ncurses.h> C++
где и что я могу скачать , что моя программа, в которой присутсвует данная библиотека #include <ncursesw/ncurses.h> скомпилировалась? (для dev c++) Добавлено через 19 минут п.с. простите, как не по русски написала:DD
r6010 - abort() windows service C++
Народ всем привет! Трабл такого плана: 1 написал программу, отладил и т.п. 2 написал службу под win и добавил туда мою отлаженную программу №1 в консоли регистрирую мою службу в MSG все норм. Но при выполнении службы происходит ошибка переполнения стека (r6010 - abort())! Причем каждый божий раз при вызове! Подскажите куда рыть? Блин комичу код службы запускаю только функционал все...
C++ Заданные три действительных числа. Выбрать из них те, которые принадлежат промежутку (2,5) http://www.cyberforum.ru/cpp-beginners/thread697076.html
Заданные три действительных числа. Выбрать из них те, которые принадлежат промежутку (2,5). Помогите пожалуйста
C++ Выводит крокозяблы при подсчёте ряда Тейлора #include<iostream.h> #include<math.h> #include<windows.h> long double fact(int N) { if(N < 0) return 0; if (N == 0) return 1; подробнее

Показать сообщение отдельно
TopLoader
42 / 42 / 4
Регистрация: 10.12.2011
Сообщений: 128
14.11.2012, 13:17  [ТС]     Найти ошибку в программе
polyaKIDze, разобрался. В данном случае нужно было обнулять maxSum после того, как изменится max.


Работающий код, вдруг кому пригодиться
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/*
Будем считать, что побеждает спортсмен, у которого максимален
наилучший бросок. Если таких несколько, то из них побеждает
тот, у которого наилучшая сумма результатов по всем попыткам.
Если и таких несколько, победителем считается спортсмен с
минимальным номером. Определите номер победителя соревнований.
*/
#include <iostream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
 
    int n, m;
    int i, j;
    int max = 0;
    int sum;
    int maxSum = 0;
    int k;
    bool maxElementInRow;
 
    cout << "n>";
    cin >> n;
    cout << "m>";
    cin >> m;
 
    int a[n][m];
 
    // Чтение массива
    for(i=0; i<n; i++)
    for(j=0; j<m; j++)
      cin >> a[i][j];
  // Ищем
  for(i=0; i<n; i++) {
    maxElementInRow = false;
    sum = 0;  // сумма в строке = 0
    for(j=0; j<m; j++) {
      sum += a[i][j]; // считаем сумму
      if(a[i][j] > max) {
        max = a[i][j];
        k = i;
        maxSum = 0;
      }
      if(a[i][j]==max)
        maxElementInRow = true;
    }
    if(maxElementInRow) {   // если в строке есть элемент, равный максимуму
        //cout << "i=" << i << " sum=" << sum << " maxSum=" << maxSum << "\n";
        if(sum >maxSum) {
          maxSum = sum;
          k = i;
        }
      }
  }
 
  cout << "\n" << k << "\n";
 
    return 0;
}
 
Текущее время: 03:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru