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

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

Войти
Регистрация
Восстановить пароль
 
Nick96
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 101
#1

Нумерация особых строк матрицы - C++

29.05.2014, 14:52. Просмотров 362. Ответов 9
Метки нет (Все метки)

Подскажите, пожалуйста, какой код нужен для того, чтобы пронумеровать только некоторые строки матрицы.
Например, мне по заданию нужно пронумеровать только те строки, в которых хотя бы некоторые элементы = значению c.
Наглядный пример: с = 3
моя матрица такова
1 2 3
1 1 1
3 1 1
Код программы делает следующее
1) 1 2 3
1 1 1
3) 3 1 1
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 14:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нумерация особых строк матрицы (C++):

Нумерация строк матрицы - C++
Подскажите, пожалуйста, код, чтобы перед строками в матрицы выводился номер строки. Например: 1) 1 2 3 2) 4 5 6 3) 7 8 9 ...

Определить количество «особых» элементов матрицы - C++
Всем привет. Тут вот задачка на динамический двумерный массив : Задана матрица размером NxM. Определить количество «особых»...

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

Определить количество «особых» элементов матрицы - C++
Задана матрица размером NxM. Определить количество «особых» элементов матрицы, считая элемент «особым», если в строке слева от него...

нумерация строк в настройках компилятора - C++
Люди помогите пожалуйста где в visual studio 6, включить нумерацию строк в настройках компилятора... всем спасибо, извиняюсь за нубовский...

Вычислить среднее арифметическое особых элементов матрицы - C++
Ребята, помогите решить программу! Дана целочисленная квадратная матрица А порядка N, где N-заданное натуральное число. Элемент а(i,j)...

9
slayster
5 / 5 / 1
Регистрация: 25.03.2014
Сообщений: 20
29.05.2014, 15:51 #2
Nick96, так?
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 <time.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    srand(unsigned(time(0)));
 
    const int row = 5, col = 5;
    int mas[row][col];
    int c = 3;
    bool check = false;
 
    for (int i = 0; i < row; i++)
        for (int j = 0; j < col; j++)
            mas[i][j] = rand() % 10;
 
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            if (mas[i][j] == c)
            {
                check = true;
                break;
            }
            check = false;
        }
        if (check == true)
            cout << i << ") ";
 
        for (int p = 0; p < col; p++)
            cout << mas[i][p] << " ";
        cout << endl;
    }
 
    return 0;
}
1
Max Dark
шКодер самоучка
1849 / 1649 / 603
Регистрация: 09.10.2013
Сообщений: 3,676
Записей в блоге: 6
Завершенные тесты: 2
29.05.2014, 15:55 #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
#include <iostream>
#include <vector>
#include <vector>
#include <map>
 
#include <cstdlib>
#include <ctime>
 
 
int main(int argc, char **argv) {
    using namespace std;
    
    vector < vector < int > > matrix;
    size_t sz;
    int c;
    
    srand(time(NULL));
    
    cout<<"enter size"<<endl;
    cin>>sz;
    cout<<"enter C"<<endl;
    cin>>c;
    
    matrix.resize(sz);
    for(auto&& row: matrix) {
        row.resize(sz);
        for(auto&& cell: row) {
            cell = rand() % 10;
            //cout<<" "<<cell;
        }
        //cout<<endl;
    }
 
    int i = 1;
    for(auto&& row: matrix) {
        bool flag = false;
        for(auto&& cell: row) {
            if(flag=(cell == c))
                break;
        }
        if(flag)
            cout<<i<<") ";
        for(auto&& cell: row) {
            cout<<cell<<" ";
        }
        cout<<endl;
        ++i;
    }
    return 0;
}
1
Миниатюры
Нумерация особых строк матрицы  
Nick96
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 101
29.05.2014, 21:38  [ТС] #4
Спасибо, Cra3y, однако, матрицу нужно вводить вручную
0
Max Dark
шКодер самоучка
1849 / 1649 / 603
Регистрация: 09.10.2013
Сообщений: 3,676
Записей в блоге: 6
Завершенные тесты: 2
29.05.2014, 21:50 #5
ну хоть это сами сделайте)
подсказываю: нужно изменить строку №28 в моем коде или №20 в коде от slayster
1
Nick96
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 101
29.05.2014, 22:07  [ТС] #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
#include "stdafx.h"
#include <iostream>
using namespace std;
void main()
{
    setlocale(LC_ALL, "Russian"); 
    int Ar[20][20]; 
    int i, j,sum = 0, M, N; 
    do
    {
        cout << "Введите число строк ";
        cin >> M; 
        cout << "Введите число столбцов ";
        cin >> N; 
        if (M <= 1 || N <= 1)
            cout << " Числа строк и столбцов должны быть больше 1\n " << endl;
    } while (M <= 1 || N <= 1);
    cout << "Введите построчно матрицу размерности " << M << " на " << N << "\n"; 
    for (i = 0; i < M; i++)
    {
        for (j = 0; j < N; j++)
        {
            cin >> Ar[i][j]; // Ввод элементов матрицы
Вот начало моего кода

Добавлено через 2 минуты
А что дальше?
0
slayster
5 / 5 / 1
Регистрация: 25.03.2014
Сообщений: 20
29.05.2014, 22:33 #7
Чтобы задавать самостоятельно количество строк и столбцов, надо создавать динамическую матрицу
0
Nick96
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 101
29.05.2014, 23:09  [ТС] #8
О-о-о. А как тогда можно выводить номера строк с элементами (хотя бы одним) = с уже после матрицы.
0
slayster
5 / 5 / 1
Регистрация: 25.03.2014
Сообщений: 20
29.05.2014, 23:47 #9
с использованием динамического массива.
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
#include <iostream>
#include <time.h>
#include <windows.h>
 
using namespace std;
 
int main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    srand(unsigned(time(0)));
 
    const int row = 5, col = 5;
    int mas[row][col];
    int c = 3, count = 0, p = 0;
    bool check = false;
    int* ar;
 
    for (int i = 0; i < row; i++)
    for (int j = 0; j < col; j++)
        mas[i][j] = rand() % 10;
 
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            if (mas[i][j] == c)
            {
                check = true;
                count++;
                break;
            }
            check = false;
        }
        if (check == true)
            cout << i << ") ";
 
        for (int p = 0; p < col; p++)
            cout << mas[i][p] << " ";
        cout << endl;
    }
 
    ar = new int[count];
 
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            if (mas[i][j] == c)
            {
                check = true;
                break;
            }
            check = false;
        }
        if (check == true)
        {
            ar[p] = i;
            p++;
        }
    }
 
    for (int i = 0; i < p; i++)
        cout << ar[i] << " ";
 
    return 0;
}
0
Nick96
0 / 0 / 0
Регистрация: 24.04.2014
Сообщений: 101
01.06.2014, 12:38  [ТС] #10
О_О Это не работает
0
01.06.2014, 12:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 12:38
Привет! Вот еще темы с ответами:

Задана матрица размером NxM. Определить количество "особых" элементов матрицы - C++
Помогите написать программу. Задана матрица размером NxM. Определить количество &quot;особых&quot; элементов матрицы, считая элемент &quot;особым&quot;, если...

Определить количество "особых" элементов матрицы - C++
Здравствуйте, господа! Тут такая тема, дана матрица a, нужно определить кол-во 'особых' элементов матрицы, считая элемент 'особым', если...

Определить количество "особых" элементов матрицы - C++
Народ помогите! Половину алгоритма вроде написал, а дальше не могу:wall: Как в столбце найти &quot;особый&quot; элемент и завести для него счетчик? ...

Определить количество особых элементов матрицы, считая элементы особым, если он больше суммы остальных элементов его столбца - C++
Помогите решить. Дана матрица A размером nxm. Определить k - количество особых элементов массива A, считая его элементым особым, если он...


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

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

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