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

Матрицы. нулевые и одинаковые строки.

22.03.2010, 09:21. Показов 1101. Ответов 2
Метки нет (Все метки)

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

Вот недописанный код программы. Помогите дописать и исправить. Недописал еще нахождение строки с одинаковыми элементами. Что-то не получается.

И помогите исправить ещё проблему, что если несколько нулевых строк, то он будет выводить номер всех, а не одной.

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
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <iomanip>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{const int N1=5;
const int M1=6;
int i,j;
int l=0,g=0,lmax=0;
 
    int x[N1][M1];
 
 
for (i=0; i<N1; i++)
           { for (j=0; j<M1; j++)
                    { cout << "x[" << i <<"][" << j<<"]=";
                  cin >> x[i][ j];   }
           }
 
cout << "Vvedennaya matrica" << endl;
for (i=0;i<N1;i++)
         { for (j=0;j<M1;j++)
            { 
               cout << setw(4) << x[i][j];
            }
       cout <<endl;
   }
 
int row;
for(i=0;i<N1;i++) {
    for (j=0;j<M1;j++) {
        for (int n=0;n<N1;n++)
        {if (x[i][j]==0) row=i; else ; }
      
            }
        }
 
cout << row << endl;
 
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2010, 09:21
Ответы с готовыми решениями:

Найти нулевые строки матрицы
Задана матрица целых чисел.Найти номера строк все элементы которых равны нулю.Использовать функции...

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

Вывести те строки матрицы, в которых есть нулевые элементы
Помогите, пожалуйста, найти и исправить. Задача: Для матрицы А (4 сторки, 5 столбцов) вывести те...

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

2
2 / 2 / 1
Регистрация: 28.02.2010
Сообщений: 5
22.03.2010, 11:28 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
#include "stdafx.h"
#include <iostream.h>
#include <iomanip.h>
 
int main(int argc, char* argv[])
{int i,j;
 int X[5][6];
 int counter=0;
 int r; 
 
for (i=0; i<5; i++)
 for (j=0; j<6; j++)
 { cout << "X[" << i <<"][" << j<<"] = ";
   cin >>X[i][ j]; 
 }
cout<<"Vvedennaya matrica"<<endl;
for (i=0; i<5; i++)
{for (j=0; j<6; j++)
   cout << setw(5) <<X[i][j];
 cout <<endl;
}
 
for(i=0; i<5; i++)
{r=1;
 for (j=0; j<5; j++) 
  if (X[i][j]!=X[i][j+1])
   {r=0;
    break; 
  }
  if (r==1)
  {counter++;
   if (X[i][5]==0)
    cout<<"Stroka nomer "<<i<<" - nulevaya"<<endl;
   else
    cout<<"U stroki nomer "<<i<<" vse elementy odinakovy"<<endl;
  }          
}                     
                
if (counter==0)
  cout<<"Matrica ne sodergit strok, v kotoryh vse elementy ravny"<<endl; 
return 0;
}
2
1260 / 798 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
22.03.2010, 11:32 3
Индексы строк начинаются с 0.
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <iostream.h>
//Описание узла стека:
struct Node {
int n_str;
Node *pnext;
};
 
//----------------------------------------------------------------------
int push(Node **top, int index); //положить на вершину стека
int pop(Node **top);             //выборка  из стека
int print(Node *top);            //показать значения стека
int Update(Node **top);          //полное освобождение памяти из под стека.
//----------------------------------------------------------------------
 
 
//Клиент:
int main(){
 
const int H = 5;
const int W = 5;
int matrix[H][W] = {
    {1,1,1,1,1},
    {5,5,5,5,5},
    {0,0,0,0,0},
    {1,1,1,1,1},
    {0,0,0,0,0}
 
};
Node *top_Null_str = NULL;   //используется для хранения номеров строк со всеми 0
Node *top_Equal_str = NULL;  //для хранения номеров строк где все элементы равны.
 
//Рабочая часть:
for( int i = 0 ; i < H ; i++ ){  
         int count_n = 0;
         int count_e = 0;
 
             for( int j = 0 ; j < W; j++ ) {
 
         if(matrix[i][0]==matrix[i][j]&&(matrix[i][j]!=0))count_e++;
                 if(matrix[i][j]==0)count_n++;
 
             }
 
             if(count_n == W)push(&top_Null_str,i);
             if(count_e == W)push(&top_Equal_str,i);
 
}
 
 
//-------------------------
cout<<"Null str  \n"; print(top_Null_str);
cout<<"Equal str \n"; print(top_Equal_str);
 
 
 
 
//-------------------------
Update(&top_Null_str);
Update(&top_Equal_str);
//-------------------------
return 0;
}
 
int push(Node **top, int index){
//Если формируем первый элемент.
if((*top)==NULL){
Node * pv = new Node ;
pv->n_str = index;
pv->pnext = NULL;
(*top)=pv;
return 0;
}
 
//Иначе добавляем на вершину.
else {            
Node * pv = new Node ;
pv->n_str = index;
pv->pnext = (*top);
(*top)= pv;
return 0;
}
 
return 0;
 
 
}
 
 
//выборка  из стека
int pop(Node **top){
Node *tmp = (*top);
if(tmp){
int str = tmp->n_str;
(*top)=(*top)->pnext;
delete tmp;
return str;
}
 
return 0;
}
 
//показать значения стека
int print(Node *top){   
while(top){
cout<<"Number_str "<<top->n_str<<'\n';
top = top->pnext;
}
cout<<'\n';
return 0;
}
int Update(Node **top){ 
    while((*top)){
    pop(top);
}
    
    return 0; 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2010, 11:32
Помогаю со студенческими работами здесь

Все нулевые элементы матрицы расположить в шахматном порядке, начиная с 1-го элемента 1-й строки
ПОМОГИИИТЕ ПОЖАЛУЙСТА! написать программу очень надоо прошуу!!! условие:все нулевые элементы...

Для матрицы А(4 строки,4 столбца) вывести те столбцы,в которых есть нулевые элементы
Для матрицы А(4 строки,4 столбца) вывести те столбцы,в которых есть нулевые элементы ,или вывести...

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

Для матрицы определить номер каждой строки, в которой не менее 2 элементов имеют нулевые значения
Для матрицы из 3 столбцов и 6 строк определить номер каждой строки, в которой не менее 2 элементов...


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

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

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