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

Определить количество столбцов матрицы, не содержащих не одного нулевого элемента - C++

Войти
Регистрация
Восстановить пароль
 
Карина13
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 2
28.11.2015, 17:21     Определить количество столбцов матрицы, не содержащих не одного нулевого элемента #1
Дана целочисленная прямоугольная матрица. Определить количество столбцов, ни содержащих не одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовём сумму ее положительных четных элементов. Переставляя строки заданной матрицы, располагать их в соответствии с ростом характеристик.
2.ЛИСТИНГ 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
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()//запуск программы
{
    setlocale(LC_CTYPE,"Rus");//устанавливает локаль
        int n=0,m=0; //переменные размера массива.
        int i=0,j=0; //переменные для координат элемента массива.
        int t=1;     
        int k=0;     //Счетчик количества столбцов массива, не имеющих нулевые элементы.
        int array_was_sorted=1;//Сортировка
        int test_sort_count=0;
    int s=0;     //переменная для суммы положительных четных элементов массива A.
        cout << "Введите количество строк и столбцов массива:" << endl;//вывод на экран      
        cin >> n;//ввод с клавиатуры
        cin >> m;//ввод с клавиатуры
        cout << "Размер массива: количество строк = " << n << ", столбцов = " << m << "." << endl;//вывод на экран 
        int **A=new int*[n];//Создали пустой одномерный массив A[n].
        for (i=0; i<n; i++) {
            for (j=0; j<m; j++) {
                A[i]=new int[m];//Расширили одномерный массив A[n] до двумерного A[n][m].
            }
        }
        for (i=0; i<n; i++) {
            for (j=0; j<m; j++) {
                cout << "Введите элемент массива A[" << i << "][" << j << "]:" << endl;//вывод на экран 
                cin >> A[i][j];//ввод с клавиатуры,заполнили элементы массива
            }
        }
        cout << "Построим визуальное представление массива A:" << endl;//вывод на экран 
        for (i=0; i<n; i++) {
            for (j=0; j<m; j++) {
                cout << A[i][j] << "\t";
            }
            cout << "\n";
        }
//"Определяем количество столбцов, не содержащих ни одного нулевого элемента":
    for (j=0; j<m; j++) {
        t=1;
        for (i=0; i<n; i++) {
            t=t*A[i][j];
        }//end for i
        if (t!=0) k++;
    }//end for j
    cout << "n Количество столбцов, не содержащих ни одного нулевого элемента = " << k << ".\n" << endl;//вывод на экран
        int **B=new int*[n];//Создаем пустой одномерный массив B[n].
        for (i=0; i<n; i++) {
            for (j=0; j<m+1; j++) {
                B[i]=new int[m+1];//Расширили одномерный массив B[n] до двумерного B[n][m+1].
            }
        }
        for (i=0; i<n; i++) {
            s=0;
            for (j=0; j<m; j++) {
            if ((A[i][j]>=0)&& (A[i][j]%2==0)) s=s+A[i][j];//Запоминаем в переменной s сумму положительных четных элементов строки массива A.
                B[i][j]=A[i][j];//Заполнили массив B элементами массива A.
            }
            cout << "Характеристика строки [" << i << "] = " << s << endl;//вывод на экран 
            B[i][m]=s;
        }
        cout << "\Построим визуальное представление массива B:" << endl;//вывод на экран 
        for (i=0; i<n; i++) {
            for (j=0; j<m+1; j++) {
                cout << B[i][j] << "\t";
            }
            cout << "\n";
        }
        while (array_was_sorted==1) {//Пока сортировка будет равна 1, цикл сортировки будет выполнятся, до тех пор пока в этом отпадет необходимость.
            for (i=1; i<n; i++) {//Цикл для сортировки массива B по возрастанию характеристики строки (т.е. столбца m).
            array_was_sorted=0;
                if (B[i][m]<B[i-1][m])//Если характеристика текущей строки меньше характеристики предыдущей строки, то меняем строки местами:
                    test_sort_count++;
                    array_was_sorted=1;//Матрица отсортирована 
                    for (j=0; j<m+1; j++) {
                        t=B[i][j];
                        B[i][j]=B[i-1][j];
                        B[i-1][j]=t;
                    }
            }
        }
        cout << "test_sort_count = " << test_sort_count << endl;//вывод на экран 
        cout << "\nостроим визуальное представление массива B после сортировки:" << endl;//вывод на экран 
        for (i=0; i<n; i++) {
            for (j=0; j<m+1; j++) {
                cout << B[i][j] << "\t";//вывод на экран 
            }
            cout << "\n";//вывод на экран 
        }
    system("pause");//окончание программы
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2015, 17:21     Определить количество столбцов матрицы, не содержащих не одного нулевого элемента
Посмотрите здесь:

Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов, не содержащих ни одного нулевого элемента
C++ Определить количество столбцов матрицы не содержащих ни одного нулевого элемента
Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента C++
Определить количество столбцов матрицы не содержащих ни одного нулевого элемента C++
C++ Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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