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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работать с <ctime>? http://www.cyberforum.ru/cpp-beginners/thread1595402.html
Добрый день! почему получаю аварийное завершение ? #include <ctime> using namespace std; int _tmain(int argc, _TCHAR* argv) {
C++ Заменить слово перед точкой textEdit QtWidget Есть строка в textEdit нужно взять слово перед точкой и заменить его на любое другое, подскажите плиз! Если есть ссылки с примером, ткните пальцем))) http://www.cyberforum.ru/cpp-beginners/thread1595393.html
Сравнение массивов C++
Добрый день! Не удается сравнить два массива q и с. Алгоритм шифрует по алгоритму CRC и необходимо расшифровать сообщение, но при сравнении массивов выдается одно и тоже сообщение что посылка удачно расшифрована. Помогите пожалуйста. #define _CRT_SECURE_NO_WARNINGS #include< stdio.h> #include< conio.h> void main()
Компаратор для сортировки vector<list<struct>> C++
Помогите, как реализовать компаратор для сортировки vector<list<struct>> ? struct Edge { int i,j,len; }; Массив заполняется значениями, а потом его нужно отсортировать по возрастанию i. Как это реализовать? Таким образом не получается: bool comp(const Edge &a, const Edge &b) { return a.i < b.i; } т.к. это не просто vector<struct>, а vector<list<struct>> ...
C++ Расчитать объём куба(по условию!) http://www.cyberforum.ru/cpp-beginners/thread1595363.html
Здравствуйте дорогие форумчане, прошу помочь с расчетом объёма куба. Ниже прилагаю свои варианты, которые увы не смогли пройти "тест-проверку" сервера моего ВУЗа. Собственно, вот условие: Дан кубик величина которой равна Х, найдите объём кубика. Разрешаемая информация ввода 1 и 3. Разрешаемая информация вывода 1 и 27. (Я так понял это стороны и объём) Решение 1: #include <iostream> using...
C++ Оптимизация у компилятора С++ Добрый день! Начал изучать С++ и случайно заглянул в дизассемблированный код. Лучше бы этого не делал! >8- 01352984 mov ecx,dword ptr 01352987 add ecx,1 0135298A mov dword ptr ,ecxВ С++ есть что-то типа оптимизатора? Потому что это должно выглядеть так: 01352987 inc aПричем далее ECX никак не используется. Чо за лажа? Может в компиляторе есть какие... подробнее

Показать сообщение отдельно
Карина13
0 / 0 / 0
Регистрация: 28.11.2015
Сообщений: 2

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

28.11.2015, 17:21. Просмотров 923. Ответов 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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru