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

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

Войти
Регистрация
Восстановить пароль
 
Карина13
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 2
#1

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

28.11.2015, 17:21. Просмотров 829. Ответов 0
Метки нет (Все метки)

Дана целочисленная прямоугольная матрица. Определить количество столбцов, ни содержащих не одного нулевого элемента.
Характеристикой строки целочисленной матрицы назовём сумму ее положительных четных элементов. Переставляя строки заданной матрицы, располагать их в соответствии с ростом характеристик.
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++ Определить количество столбцов в матрице, не содержащих ни одного нулевого элемента

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

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

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