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

Посчитать количество симметричных строк двумерного массива - C++

Восстановить пароль Регистрация
 
Daniyar86
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 8
25.02.2014, 10:45     Посчитать количество симметричных строк двумерного массива #1
Добрый день!
Помогите пожалуйста разобраться в задаче по С++.
Задача стоит такая: Дан двумерный массив, нужно посчитать количество симметричных строк.
Я делаю так, но программа работает не правильно, помогите исправить:

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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    const int n = 5, m = 5;
    int a[ n ][ m ];
    int k;
    for ( int i =0; i <n; i++ ) 
    {
        for ( int j = 0;  j <m ; j ++ )
            cin >> a[ i ][ j ];
    }
    for ( int i =0; i <n; i++ ) 
    {
     k=0;
         for (int j=0; j<m; j++)
            if (a[i][j]==a[i][m-1])
            k++;
    }
    cout<<k<<endl;
    return 0;
}
P.S.: Если можно с комментариями.
За ранее ОГРОМНЕЙШАЯ благодарность.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2014, 10:45     Посчитать количество симметричных строк двумерного массива
Посмотрите здесь:

Посчитать сумму элементов двумерного массива C++
C++ Можно ли определить размер динамического двумерного массива, количество строк и столбцов?
Для заданного двумерного числового массива подсчитать количество таких строк, в которых положительных элементов больше, чем отрицатель-ных. C++
C++ количество четных элементов одномерного массива до числа равному а, Определить количество нечетных элементов двумерного массива
Определить количество положительных элементов каждого столбца двумерного массива, содержащего 5 строк и 5 столбцов C++
Посчитать количество элементов двумерного массива, стоящих до максимального элемента C++
Обработка двумерного массива: найти количество строк и номер столбца по условию C++
C++ Посчитать количество отрицательных элементов двумерного массива, кратных 3 или 5

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Елена Едыгарова
 Аватар для Елена Едыгарова
34 / 20 / 9
Регистрация: 24.01.2014
Сообщений: 80
25.02.2014, 11:13     Посчитать количество симметричных строк двумерного массива #2
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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    const int n = 5, m = 5;
    int a[ n ][ m ]={1,2,3,2,1,5,6,8,4,2,6,5,4,5,6,8,9,7,4,5,4,3,2,3,4};//проинициализировали массив для теста
    int k;
    
    for ( int i =0; i <n; i++ ) //вывели массив на экран
    {
        for ( int j = 0;  j <m ; j ++ )
            cout << a[ i ][ j ];
        cout<<endl;
    }
    k=0;//сумму строк не нужно обнулять в цикле, поэтому выносим её за него
    for ( int i =0; i <n; i++ ) 
    {
     
     bool flag=true;//переменная предназначена для индикации симетричной строки
         for (int j=0; j<m/2&&amp;amp;flag; j++)//до половины m проверяем симметричны ли элементы строки, если вдруг один из элементов не симметричен выходим из цикла по условию &&flag
            if (a[i][j]!=a[i][m-1-j])//если не симметричны сбрасываем индикатор в ложь
                flag=false;
         if(flag)//если симметричны наращиваем сумму симметричных строк
             k++;
    }
    cout<<k<<endl;
    return 0;
}
Радует вопрос, когда человек пытается что-то сделать, а не просто кричит сделайте за меня. Уважуха)
Daniyar86
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 8
25.02.2014, 12:08  [ТС]     Посчитать количество симметричных строк двумерного массива #3
Цитата Сообщение от Елена Едыгарова Посмотреть сообщение
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
#include <iostream>
#include <iomanip>
 
using namespace std;
 
int main() {
 
    const int n = 5, m = 5;
    int a[ n ][ m ]={1,2,3,2,1,5,6,8,4,2,6,5,4,5,6,8,9,7,4,5,4,3,2,3,4};//проинициализировали массив для теста
    int k;
    
    for ( int i =0; i <n; i++ ) //вывели массив на экран
    {
        for ( int j = 0;  j <m ; j ++ )
            cout << a[ i ][ j ];
        cout<<endl;
    }
    k=0;//сумму строк не нужно обнулять в цикле, поэтому выносим её за него
    for ( int i =0; i <n; i++ ) 
    {
     
     bool flag=true;//переменная предназначена для индикации симетричной строки
         for (int j=0; j<m/2&&amp;amp;flag; j++)//до половины m проверяем симметричны ли элементы строки, если вдруг один из элементов не симметричен выходим из цикла по условию &&flag
            if (a[i][j]!=a[i][m-1-j])//если не симметричны сбрасываем индикатор в ложь
                flag=false;
         if(flag)//если симметричны наращиваем сумму симметричных строк
             k++;
    }
    cout<<k<<endl;
    return 0;
}
Радует вопрос, когда человек пытается что-то сделать, а не просто кричит сделайте за меня. Уважуха)
Спасибо БОЛЬШОЕ!
Yandex
Объявления
25.02.2014, 12:08     Посчитать количество симметричных строк двумерного массива
Ответ Создать тему
Опции темы

Текущее время: 18:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru