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

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

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

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

28.11.2015, 17:21. Просмотров 1244. Ответов 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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2015, 17:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Определить количество столбцов матрицы, не содержащих не одного нулевого элемента (C++):

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

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

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

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

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

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2015, 17:21
Привет! Вот еще темы с ответами:

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

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

Определить количество столбцов матрицы, не содержащих ни одного нулевого элемента - C++
1. Условные операторы. а.) Вычислить значения функциии при заданных условиях. Подготовить тесты (число тестов...

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


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

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

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