3 / 3 / 0
Регистрация: 08.12.2015
Сообщений: 249
1

Найти нулевые строки матрицы

12.03.2016, 20:47. Показов 1758. Ответов 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
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<conio.h>
using namespace std;
int i,j,h,k,l,m,n;
const int z=100;
int a[z][z],p[z][z],b[z];
 
int INPT (int p[z][z]);
int PRNTF (int b[z]);
int NUMBER (int p[z][z],int b[z]);
 
main()
{
setlocale(LC_ALL, "Russian");
cout<<"\nВведите количество строк матрицы";
cout<<"\nk = ";
cin>>k;
cout<<"\nВведите количество столбцов матрицы";
cout<<"\nl = ";
cin>>l;
    
cout<<"\nВведите матрицу: "<<endl;
INPT (a);
NUMBER (a,b);
cout<<"\nРезультат: "<<endl;
PRNTF (b);
}
INPT (int p[z][z])
{
    for (i=0; i<k; i++)
    {
        for (j=0; j<l; j++)
        {
            cin >> a[i][j];
        }
    }
    return (p[z][z]);
}
 
PRNTF (int b[z])
{
    for (i=0; i<n; i++)
    {
        
        cout<<b[i];
    }
    return (p[z][z]);
}
NUMBER (int p[z][z],int b[z])
{
    for (i=0;i<k;i++)
    {
        n=0;
        for(j=0;j<l;j++)
        {
            if (a[i][j]==0) n++;
        }
        if (n==l) b[i]=i;
    }
    return p[z][z];
}
Добавлено через 16 минут
Все,я сделал,вот,как получилось
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
#include<iostream>
#include<conio.h>
using namespace std;
int i,j,h,k,l,m,n;
const int z=100;
int a[z][z],p[z][z];
 
int INPT (int p[z][z]);
int NUMBER (int p[z][z]);
 
main()
{
setlocale(LC_ALL, "Russian");
cout<<"\nВведите количество строк матрицы";
cout<<"\nk = ";
cin>>k;
cout<<"\nВведите количество столбцов матрицы";
cout<<"\nl = ";
cin>>l;
    
cout<<"\nВведите матрицу: "<<endl;
INPT (a);
NUMBER (a);
 
}
INPT (int p[z][z])
{
    for (i=0; i<k; i++)
    {
        for (j=0; j<l; j++)
        {
            cin >> a[i][j];
        }
    }
    return (p[z][z]);
}
 
 
NUMBER (int p[z][z])
{
    for (i=0;i<k;i++)
    {
        n=0;
        for(j=0;j<l;j++)
        {
            if (a[i][j]==0) n++;
        }
        if (n==l) cout<<i+1<<"\n  ";
    }
    return p[z][z];
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.03.2016, 20:47
Ответы с готовыми решениями:

Удалить из матрицы нулевые строки
Господа уважаемые программеры! Пожалуйста помогите доделать детскую прогу. Имеется матрица NxM...

Матрицы. нулевые и одинаковые строки.
Дана целочисленная матрица размера 56. Найти номера строк, где все элементы нулевые, все элементы...

Матрицы. Необходимо найти значение среднего арифметического строк матрицы, исключая нулевые, в случае, если строка имеет отрицательный элемент(ы)
Добрый день уважаемые форумчане! На днях возник вопрос, как найти среднее арифметическое строк,...

Найти нулевые строки и столбцы в матрице
Доброго всем дня)) помогите сделать часть кода на проверку строк и столбцов матрицы. Если все...

3
Модератор
Эксперт С++
12639 / 10133 / 6102
Регистрация: 18.12.2011
Сообщений: 27,169
12.03.2016, 21:27 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
39
40
41
42
43
44
45
46
47
48
49
#include<iostream>
using namespace std;
 
const int z=100;
 
void INPT (int p[z][z],int k,int L);
void NUMBER (int p[z][z],int k,int L);
 
int main()
{
    setlocale(LC_ALL, "Russian");
    cout<<"\nВведите количество строк матрицы";
    cout<<"\nk = ";
    int k;cin>>k;
    if(k>z)k=z;
    cout<<"\nВведите количество столбцов матрицы";
    cout<<"\nl = ";
    int L;cin>>L;
    if(L>z)L=z;
 
    cout<<"\nВведите матрицу: "<<endl;
    int a[z][z];
    INPT(a,k,L);
    NUMBER(a,k,L);
    system("pause");
    return 0;
 
}
void INPT(int a[][z],int k,int L)
{
    for(int i=0; i<k; i++)
    {
        for(int j=0; j<L; j++)
            cin >> a[i][j];
    }
}
 
 
void NUMBER (int a[][z],int k,int L)
{
    for (int i=0;i<k;i++)
    {
        int n=0;
        for(int j=0;j<L;j++)
            if (a[i][j]==0) 
                n++;
        if (n==L) cout<<i+1<<"\n  ";
    }
}
0
0 / 0 / 1
Регистрация: 11.03.2016
Сообщений: 8
12.03.2016, 21:40 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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <ctime>
using namespace std;
void fillmassive(int **mas,short size1,short size2)
{
    srand(time(0));
    for(int i=0; i<size1; i++)
    {
        for(int j=0; j<size2; j++)
        {
            cout<<"элемент номер"<<i<<j<<endl;
            cin>>mas[i][j];//заполнение с клавиатуры
        }
    }
 
}
void if0(int **mas,short size1,short size2)
{
    for(int i=0; i<size1; i++)
    {
        for(int j=0; j<size2; j++)
        {
            if(mas[i][j]!=0)
                break;
            else if(j==size2-1)
                cout << i << endl;//нaходим и выводим строку
        }
    }
}
int main()
{   
    setlocale(LC_ALL, "rus");
    short size1,size2;
    cin>>size1>>size2;//строки и столбцы
    int** massive = new int*[size1];
    for(int i=0; i<size1; i++)
        massive[i]=new int[size2];
    fillmassive(massive,size1,size2);
    if0(massive,size1,size2);
    system("PAUSE>>VOID");
    return 0;
}
0
Модератор
Эксперт С++
12639 / 10133 / 6102
Регистрация: 18.12.2011
Сообщений: 27,169
12.03.2016, 21:47 4
lyovarm, лучше делать так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void if0(int **mas,short size1,short size2)
{
    for(int i=0; i<size1; i++)
    {
        int j=0;
        for(; j<size2; j++)
        {
            if(mas[i][j]!=0)
                break;
        }
        if(j==size2)
                cout << i << endl;//выводим строку если break не было
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.03.2016, 21:47
Помогаю со студенческими работами здесь

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

Найти строчку и столбец матрицы, где есть нулевые элементы
Всем привет. Помогите пожалуйста решить задачку нужно найти строчку и по возможности столбец. где...

Найти и вывести на печать все нулевые элементы матрицы и указать в каких строках и столбцах они находятся
Парни, помогите с этим заданием.. &quot;Написать программу, задающую матрицу А размером 4x4 с...

Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой строки. размер матрицы 7х7.заранее спасибо
Найти среднее арифметическое элементов каждой строки матрицы Q (lm) и отнять его от элементов этой...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru