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

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

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

Author24 — интернет-сервис помощи студентам
Дана целочисленная матрица размера 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.03.2010, 09:21
Ответы с готовыми решениями:

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

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

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

2
2 / 2 / 1
Регистрация: 28.02.2010
Сообщений: 5
22.03.2010, 11:28
Вот так написал:
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
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
22.03.2010, 11:32
Индексы строк начинаются с 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.03.2010, 11:32
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Согласованность транзакций в MongoDB
Codd 30.04.2025
MongoDB, начинавшая свой путь как классическая NoSQL система с акцентом на гибкость и масштабируемость, сильно спрогрессировала, включив в свой арсенал поддержку транзакционной согласованности. Это. . .
Продвинутый ввод-вывод в Java: NIO, NIO.2 и асинхронный I/O
Javaican 30.04.2025
Когда речь заходит о вводе-выводе в Java, классический пакет java. io долгие годы был единственным вариантом для разработчиков, но его ограничения становились всё очевиднее с ростом требований к. . .
Обнаружение объектов в реальном времени на Python с YOLO и OpenCV
AI_Generated 29.04.2025
Компьютерное зрение — одна из самых динамично развивающихся областей искусственного интеллекта. В нашем мире, где визуальная информация стала доминирующим способом коммуникации, способность машин. . .
Эффективные парсеры и токенизаторы строк на C#
UnmanagedCoder 29.04.2025
Обработка текстовых данных — частая задача в программировании, с которой сталкивается почти каждый разработчик. Парсеры и токенизаторы составляют основу множества современных приложений: от. . .
C++ в XXI веке - Эволюция языка и взгляд Бьярне Страуструпа
bytestream 29.04.2025
C++ существует уже более 45 лет с момента его первоначальной концепции. Как и было задумано, он эволюционировал, отвечая на новые вызовы, но многие разработчики продолжают использовать C++ так, будто. . .
Слабые указатели в Go: управление памятью и предотвращение утечек ресурсов
golander 29.04.2025
Управление памятью — один из краеугольных камней разработки высоконагруженных приложений. Го (Go) занимает уникальную нишу в этом вопросе, предоставляя разработчикам автоматическое управление памятью. . .
Разработка кастомных расширений для компилятора C++
NullReferenced 29.04.2025
Создание кастомных расширений для компиляторов C++ — инструмент оптимизации кода, внедрения новых языковых функций и автоматизации задач. Многие разработчики недооценивают гибкость современных. . .
Гайд по обработке исключений в C#
stackOverflow 29.04.2025
Разработка надёжного программного обеспечения невозможна без грамотной обработки исключительных ситуаций. Любая программа, независимо от её размера и сложности, может столкнуться с непредвиденными. . .
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru