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

Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. - C++

Восстановить пароль Регистрация
 
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
11.06.2010, 16:00     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. #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
26
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    int matrix[10][10],n,m,num[10];
    cout<<"Введите количество строк матрицы: ";
    cin>>n;
    cout<<"Введите количество столбцов матрицы: ";
    cin>>m;
    cout<<"Заполните матрицу: "<<endl;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
        {
            cout<<"matrix["<<i<<"]["<<j<<"] = ";
            cin>>matrix[i][j];
            if(matrix[i][j]==0)
                    num[i]=j;
        }
        cout<<"Столбцы с нулевыми элементами: ";
        for(int i=0;i<=n;i++)
            cout<<num[i]<<" ";
        cout<<endl;
    system("pause");
    return 0;
}
помогите разобраться, заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2010, 16:00     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер.
Посмотрите здесь:

Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер C++
Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер C++
Из матрицы удалить строку и столбец, в которых находится первый элемент, равный нулю C++
C++ В квадратной матрице найти сумму модулей элементов в строках, содержащих хотя бы один отрицательный элемент; определить номер 1ой строки с 0-ым элем-о
в матрице А(n x m) найти первый столбец, не содержащий отрицательных элементов, и умножить его как вектор на матрицу А C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xhunty
4 / 4 / 1
Регистрация: 27.03.2010
Сообщений: 20
11.06.2010, 17:01     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. #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
33
34
35
36
37
38
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL,"");
    int matrix[10][10],n,m,num[10];
    cout<<"Введите количество строк матрицы: ";
    cin>>n;
    cout<<"Введите количество столбцов матрицы: ";
    cin>>m;
    int k=0;
    cout<<"Заполните матрицу: "<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<"matrix["<<i<<"]["<<j<<"] = ";
            cin>>matrix[i][j];
            if(matrix[i][j]==0)
            {
                num[k]=i;
                k++;                
            }
        }
    }
        if (k==0)
        {
            cout<<"Нулевых элементов нет ";
            system("pause");
            return 0;
        }
        cout<<"Столбцы с нулевыми элементами: ";
        for(int i=0;i<k;i++)
            cout<<num[i]<<" ";
        cout<<endl;
        system("pause");
        return 0;
}
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.06.2010, 17:05     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. #3
selevit,
C++
1
2
3
4
5
6
7
8
9
10
// Возвращает индекс столбца содержащего нулевой элемент,
// или -1 в случае отсутствия столбцов с нулевыми элементами
int ColumnWithZero(int** matrix, size_t n, size_t m) {
  for (int i = 0; i < n; ++i)
    for (int j = 0; j < m; ++j)
      if (matrix[i][j] == 0)
        return j;
 
  return -1;
}
Xhunty, а что если нулевой элемент будет расположен в нулевом столбце?
Xhunty
4 / 4 / 1
Регистрация: 27.03.2010
Сообщений: 20
11.06.2010, 17:10     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. #4
он вроде должен так же посчитаться, ток вот если в столбце будет больше 2-х нулевых, об этом я не подумал =)
selevit
 Аватар для selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
11.06.2010, 18:48  [ТС]     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер. #5
Xhunty, спасибо, только если в одном столбце больше 1 нулевого элемента, то номер столбца выводится много раз, т.е. столько же сколько и элементов.
Yandex
Объявления
11.06.2010, 18:48     Проверить, есть ли в матрице хотя бы один столбец, содержащий элемент, равный нулю, и найти его номер.
Ответ Создать тему
Опции темы

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