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

Определить количество четных элементов, расположенных на главной и побочной диагоналях матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Фызов функции из класса http://www.cyberforum.ru/cpp-beginners/thread759238.html
Есть два класса один класс отвечает за создание колоды, ее перемешивания. А другой за создание игры.. Вопрос вот в чем как мне организовать вызов функции создания и тосовки колоды в классе игры?? //TwentyOneGame.h #include "Player.h" class TwentyOneGame{ Player dealer;
C++ Подсчитать число отрицательных элементов матрицы Даны натуральное число m, целые числа a1, ..am и целочисленная квадратная матрица порядка m. Строку с номером i матрицы назовем отмечен-ной, если ai >0, и не отмеченной - в противном случае. Подсчитать число отрицательных элементов матрицы, расположенных в отмеченных строках очень прошу помочь! заранее спасибо) http://www.cyberforum.ru/cpp-beginners/thread759224.html
C++ строки (найти ошибку)
Помогите найти ошибку, в программе нужно заменить "ab" на "!" строку вводим с клавиатуры. #include "stdafx.h" #include <iostream> #include <string.h> using namespace std; void main() { char s, s2=" "; int j=0, i; cout <<"Vvedite stroku: ";
Графы через списки смежности: вывести все вершины, не смежные с данной C++
вывести на экран все вершины не смежные с данной. код работает, но нужно еще вывести на экран:"все смежные", в случае если все вершины смежны с данной. #include<fstream> #include<stdio.h> #include<vector> #include<string> #include<algorithm> #include<cmath>
C++ Ввод информации в программу не ограничивается фиксированным числом http://www.cyberforum.ru/cpp-beginners/thread759206.html
Существует условие, что данные о заработной плате и тому подобному должны выводится 10 раз, после этого функция displaydata выводит всю выше введенную информацию. Но только почему то данные вводятся до бесконечности, и не чего не происходит. Хотя в функции main прописан массив который ограничивает число ввода данных. Вообщем, подскажите пожалуйста что нужно исправить что бы информация вводилась...
C++ Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. 2. Написать функцию, которая возвращает максимальное из двух целых чисел, полученных в качестве аргумента. подробнее

Показать сообщение отдельно
FreeMinder
36 / 36 / 2
Регистрация: 29.08.2012
Сообщений: 59
12.01.2013, 05:59     Определить количество четных элементов, расположенных на главной и побочной диагоналях матрицы
Цитата Сообщение от Zoominger Посмотреть сообщение
for(int i=n; i>0; i--)for(int j=m; j<0; j--)if(a[i][j]%2==0)Iter++;
Выход за пределы массива при i = n или j = m, n и m - это размерность массива, но НЕ его последний индекс.
Если матрица прямоугольная то и считать ничего не надо, нет в прямоугольных матрицах главной и побочной диагонали.
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int EvenCounter(int**,int, int);
 
int main()
{
    srand(time(0));
    int**a;
    int n = 0, m = 0;
 
    cout <<"Input rows count (n): ";
    cin >> n;
    cout <<"Input columns count (m): ";
    cin >> m;
 
    a = new int*[n];
    for(int i=0;i<n;i++)
        a[i]=new int[m];
 
    cout<<"\nArray a: \n";
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            a[i][j] = rand()%10;
            cout<<setw(2)<<a[i][j];
        }
        cout<<endl;     
    }
    if( n != m)
        cout<<"\nThere is nothing to count n != m\n"<<endl;
    else
        cout<<"\nCount = "<<EvenCounter(a,n,m)<<endl;
 
    for(int i=0;i<n;i++)
        delete[] a[i];
    delete[]a;
 
    return 0;
}
 
int EvenCounter(int**a,int n,int m)
{
    int count=0;
    // для главной
    for(int i=0, j=0; i < n && j < m; i++, j++)
    {
        if( a[i][j] % 2 == 0)
            count++;
    }
    // для побочной
    for(int i=0, j=m-1; i < n && j > 0; i++, j--)
    {
        if( a[i][j] % 2 == 0)
            count++;
    }
    return count;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru