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

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

Войти
Регистрация
Восстановить пароль
 
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
#1

Количество столбцов не содержащих единицу - C++

25.10.2015, 19:07. Просмотров 151. Ответов 11
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
for (j=0;j<m;j++){
    for (i=0;i<n;i++){
        if (A[i][j]==1)
        k++;
    }
    if (k++) t++;
}
    cout << "\n Kol-vo stolbcov ne sodirshashih ni odnogo elementa ravnogo 1 = " << t << "\n" << endl;
}
Нужно подсчитать и вывести количество столбцов НЕ содержащих единицу...
Никак не могу сделать. Помогите пожалуйста!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2015, 19:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Количество столбцов не содержащих единицу (C++):

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

Определить количество столбцов, не содержащих ни обного нулевого элемента - C++
Здравствуйте! Помогите, пожалуйста, написать задачи на С++. Вот текст: 1)Дана целочисленная прямоугольная матрица. Определить количество...

Найти количество столбцов матрицы, не содержащих нулевого элемента - C++
Дано целочисленную прямоугольную матрицу 1). Количество столбцов, что не содержащих нулевого элемента ; 2). Расположить строки матрицы...

Найти количество столбцов, содержащих только отрицательные элементы - C++
количество столбцов, содержащих только отрицательные элементы: #include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;time.h&gt; ...

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

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

11
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 19:38 #2
C++
1
A[i][j]==1
i и j поменяй местами

Это
C++
1
if (k++) t++;
Замени на это
C++
1
if (!k) t++;
Добавлено через 1 минуту
И в конце цикла добавь
C++
1
k=0;
0
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
25.10.2015, 19:43  [ТС] #3
C++
1
2
3
4
5
6
7
8
for (i=0;i<n;i++){
    for (j=0;j<m;j++){
        if (A[i][j]==1)
        k++;
    }
    if (!k) t++;
    k=0;
}
так?
0
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 19:55 #4
А, не надо менять местами, я перепутал

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
for (j=0;j<n;j++){
    for (i=0;i<m;i++){
        if (A[i][j]==1)
        k++;
    }
    if (!k) t++;
    k=0;
}
0
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
25.10.2015, 19:56  [ТС] #5
Да я пробовал и меня и не менять. Все равно не работает. Выводит либо нуль, либо неправильно считает.
0
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 20:03 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    int A[n][m];
    int t = 0;
 
    //...
 
    for (int i = 0, count = 0; i < m; i++, count = 0)
    {
        for (int j = 0; j < n; j++)
        {
            if (A[j][i]==1) count++;
        }
        if (!count) t++;
    }
 
    cout << "\n Kol-vo stolbcov ne sodirshashih ni odnogo elementa ravnogo 1 = " << t << "\n" << endl;
0
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
25.10.2015, 20:07  [ТС] #7
Вот сами запустите и проверьте. Например введите 4 на 5 матрицу и он выдаст 4, хотя столбцов без 1 всего-то 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
32
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
 
int main() {
        int n,m,i,j,t,k,A[n][m];
        cout << "Vvedite kol-vo strok i stolbcov massiva: " << endl;        
        cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            A[i][j] = rand() % 10; 
            cout << A[i][j] << " "; 
        }
        cout << endl; 
    }
 
for (int i = 0, count = 0; i < m; i++, count = 0)
    {
        for (int j = 0; j < n; j++)
        {
            if (A[j][i]==1) count++;
        }
        if (!count) t++;
    }
 
    cout << "\n Kol-vo stolbcov ne sodirshashih ni odnogo elementa ravnogo 1 = " << t << "\n" << endl;
getch ();
        return 0;
}
0
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 20:08 #8
У тебя это запускается?
0
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
25.10.2015, 20:10  [ТС] #9
да, запускается
0
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 20:13 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Эм, память же надо выделять
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
#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
 
int main() 
{
        int n,m,i,j,t,k;
        
        cout << "Vvedite kol-vo strok i stolbcov massiva: " << endl;        
        cin >> n >> m;
        int** A = new int*[n];
        for (int i = 0; i < n; i++) A[i] = new int[m];
 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < m; j++)
        {
            A[i][j] = rand() % 10; 
            cout << A[i][j] << " "; 
        }
        cout << endl; 
    }
 
for (int i = 0, count = 0; i < m; i++, count = 0)
    {
        for (int j = 0; j < n; j++)
        {
            if (A[j][i]==1) count++;
        }
        if (!count) t++;
    }
 
    cout << "\n Kol-vo stolbcov ne sodirshashih ni odnogo elementa ravnogo 1 = " << t << "\n" << endl;
getch ();
        return 0;
}
Добавлено через 1 минуту
И t инициализировать надо
C++
1
int n,m,i,j,t = 0,k;
0
EGKR
3 / 3 / 1
Регистрация: 10.11.2014
Сообщений: 94
25.10.2015, 20:14  [ТС] #11
а почему без выделения памяти не работало? Простите, за странный вопрос
0
Redzep
197 / 133 / 54
Регистрация: 21.12.2014
Сообщений: 369
25.10.2015, 20:14 #12
Размер массива без выделения памяти должен быть известен во время компиляции
1
25.10.2015, 20:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2015, 20:14
Привет! Вот еще темы с ответами:

Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента - C++
Здравствуйте! Помогите , пожалуйста, решить задачу. Вот текст:1) Дана целочисленная прямоугольная матрица. Определить количествло столбцов,...

Определить количество столбцов,содержащих хотя бы один нулевой элемент - C++
В общем код я написала,но он возвращает нули..Пожалуйста, скажите в чем ошибка? int raven_0 (int **A, int N,int M) {int S=0 , i; for...

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

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


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

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

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