Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
LiV_
0 / 0 / 6
Регистрация: 28.01.2013
Сообщений: 56
#1

Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента - C++

28.01.2013, 04:19. Просмотров 2085. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Не могу решить данное задание. Проблемы непосредственно в подсчете строк. Пробовал множество вариантов, свелся примерно вот к этому, но компилятор все равно не считает, или подсчитывает неверно:
http://www.cyberforum.ru/cpp-beginners/thread955020.html

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
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
 
const int n=3;
const int m=4;
int A[n][m];
 
using namespace std;
 
void f1()
{
    int count=0;
    int x=0;
 
    for(int i=0; i<n; i++)// перебираем отдельные строки
    {
        for(int j=0; j<n; j++)// 
        {
            if(A[i][j]==0)// считаем элементы, которые равны 0
            x++;
        }
        if(x==0)// считаем строки, в которых нет нулевых элементов
            count++;
    }
 
    cout<<"Количество строк, не содержащих ни одного нулевого элемента: "<<count<<endl;// вывоим на экран
}
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    srand(time(NULL));
    const int N=3;
    const int M=4;
    int ar[N][M];
    int Count;
    int X;
    
    for(int i=0; i<N; i++)
    {
        for(int j=0; j<M; j++)
        {
            ar[i][j]=rand()%2;
            cout<<ar[i][j]<<"\t";
        }
    }
    
    cout<<"\n\n";
 
    f1();
 
 
    system("pause");
}
Черт! все правильно же, но программа работает не так как надо. Заранее спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.01.2013, 04:19
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Дана целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента (C++):

Данная целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента
Эту же задачу я видел здесь...

Данная целочисленная прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента.
Данная целочисленная прямоугольная матрица. Определить количество строк, не...

Дана целочисленна прямоугольная матрица. Определить количество строк, не содержащих ни одного нулевого элемента.
Выполнить задание, используя динамическое выделение памяти. Дана целочисленна...

Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не...

Дана целочисленная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента
Дана целочисленная прямоугольная матрица. Определить количество столбцов, не...

4
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,234
28.01.2013, 04:47 #2
LiV, а что вы хотите? Вы инициализируете один массив (ar), а в функции работаете с другим, глобальным (A)
1
LiV_
0 / 0 / 6
Регистрация: 28.01.2013
Сообщений: 56
28.01.2013, 14:55  [ТС] #3
MrGluck, я учел ваше замечание, переделал.. но компилятор все равно как то не правильно подсчитывает строки:

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
#include<iostream>
#include<stdlib.h>
#include<time.h>
#include<Windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    srand(time(NULL));
    
    const int n=3;
    const int m=4;
    int A[n][m];
    int count=0;
    int x=0;
    
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<m; j++)
        {
            A[i][j]=rand()%5;
            cout<<A[i][j]<<"\t";
        }
    }
 
    for(int i=0; i<n; i++)// перебираем отдельные строки
    {
        for(int j=0; j<n; j++)// 
        {
            if(A[i][j]==0)// считаем элементы, которые равны 0
            x++;
        }
        if(x==0)// считаем строки, в которых нет нулевых элементов
            count++;
    }
 
    cout<<"\n\n";
 
    cout<<"Количество строк, не содержащих ни одного нулевого элемента: "<<count<<endl;
 
 
 
    system("pause");
}
Сделал все в main, нет глобального массива, иннициализировал и работаю с одним массивом А
0
MrGluck
Модератор
Эксперт CЭксперт С++
7980 / 4861 / 1422
Регистрация: 29.11.2010
Сообщений: 13,234
28.01.2013, 18:33 #4
C++
1
2
3
4
5
6
7
8
9
10
11
for(int i=0; i<n; i++)// перебираем отдельные строки
    {
        x = 0; // <---------------- обнуляем х
        for(int j=0; j<n; j++)// 
        {
            if(A[i][j]==0)// считаем элементы, которые равны 0
            x++;
        }
        if(x==0)// считаем строки, в которых нет нулевых элементов
            count++;
    }
1
LiV_
0 / 0 / 6
Регистрация: 28.01.2013
Сообщений: 56
28.01.2013, 20:57  [ТС] #5
Надо было обнулять.
Спасибо
0
28.01.2013, 20:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 20:57
Привет! Вот еще темы с решениями:

Дана целочисленная прямоугольная матрица А размером N x M. Вычислить количество строк, не содержащих ни одного нуля
Помогите пожалуйста !:) С++; Дана целочисленная прямоугольная матрица А...

Дана целочисленная прямоугольная матрица. Определить количество строк, содержащих хотя бы один нулевой элемент
Дана целочисленная прямоугольная матрица. Определить: 1) количество строк,...

Матрица: определить количество строк, не содержащих ни одного нулевого элемента
для решения задач: 1) определить количество строк, не содержащих ни одного...

дана целочисленная прямоугольная матрица. Определить количество столбцов,содержащих хотя бы один нулевой элемент.
помогите срочно!!! Надо написать прогу. Вот условие: дана целочисленная...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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