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

Матрицы. Работа с матрицами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пирамидальная сортировка http://www.cyberforum.ru/cpp-beginners/thread1057908.html
Имеется алгоритм сортировки d-кучей. template <class Type> class TSorter { protected: long int ArraySize; // РАЗМЕР МАССИВА ДЛЯ СОРТИРОВКИ Type * Array; // УКАЗАТЕЛЬ НА НАЧАЛО МАССИВА int d; // ПОКАЗАТЕЛЬ "d" d-кучи (используют в основном 2,3 или 4)
C++ Логический тип Дано положительное целое число n. Верно ли, что все его цифры нечётные? Условных операторов не использовать! http://www.cyberforum.ru/cpp-beginners/thread1057901.html
C++ вообще с нуля
Какую смысловую инфу несет запись в конце каждой пр-мы retunn 0; или return 1;
Упорядочить массив C++
Написать программу, которая упорядочивает строки прямоугольной веще- ственной матрицы размерности NxM по возрастанию произведений четных элементов строк. первым пишет наименьший элемент #include <iostream> #include <stdlib.h> #include <time.h> #include <math.h>
C++ как упорядочить четные числа элемента массива по убыванию, а нечетные по возрастанию? http://www.cyberforum.ru/cpp-beginners/thread1057891.html
всем привет. как вывечти четные числа элемента массива по убыванию, а нечетные по возрастанию? без использования qsort #include "stdafx.h" #include <stdlib.h> #include <iostream> #include <locale.h> using namespace std; int main() {
C++ Сложные структуры, C++ Составить структуру, состоящую из полей – фамилию студента и 3 его оценок по экзаменам (например русский, математика, информатика). Задать массив из 5 записей. Ввести на экран соотвествующие данные: a. массив данных о студентах; b. вывести Фамилии о назначении на стипендию («на отлично», «на хорошо и отлично», «на хорошо»). c. Вывести Фамилии и экзамен, за которые получена не... подробнее

Показать сообщение отдельно
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
26.12.2013, 20:31     Матрицы. Работа с матрицами
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
#include <algorithm>
#include <iterator>
#include <iostream>
#include <iomanip>
#include <random>
#include <set>
 
int main()
{
    std::default_random_engine generator;
    std::uniform_int_distribution <> distribution(-15, 15);
 
    size_t rowsCount;
    std::cout << "N: ";
    std::cin >> rowsCount;
 
    size_t colsCount;
    std::cout << "M: ";
    std::cin >> colsCount;
 
    std::set <int> uniqueMatrixElements;
    int **matrix = new int *[rowsCount];
    std::cout << "Matrix: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        matrix[i] = new int [colsCount];
        for (size_t j = 0; j < colsCount; j++) {
            std::cout << std::setw(5) << (matrix[i][j] = distribution(generator));
            if (!uniqueMatrixElements.count(matrix[i][j]))
                uniqueMatrixElements.insert(matrix[i][j]);
        }
        std::cout << std::endl;
    }
    
    int resultElement;
    size_t maximalRepeatCounter(0);
    for (auto currentSetElement : uniqueMatrixElements) {
        size_t currentElementRepeatCounter(0);
        for (size_t i = 0; i < rowsCount; i++) {
            for (size_t j = 0; j < colsCount; j++)
                currentElementRepeatCounter += (matrix[i][j] == currentSetElement) ? 1 : 0;
        }
        if (currentElementRepeatCounter > maximalRepeatCounter) {
            maximalRepeatCounter = currentElementRepeatCounter;
            resultElement = currentSetElement;
        }
    }
    std::cout << "Element: " << resultElement << "; The count of repeating: " << maximalRepeatCounter << ';' << std::endl;
 
    for (size_t j = 0; j < colsCount; j++) {
        size_t isIncludingElementInCol(0);
        for (size_t i = 0; i < rowsCount; i++)
            isIncludingElementInCol += (matrix[i][j] == resultElement) ? 1 : 0;
        if (isIncludingElementInCol) {
            for (size_t i = 0; i < rowsCount; i++)
                matrix[i][j] = resultElement;
        }
    }
 
    std::cout << "New matrix: " << std::endl;
    for (size_t i = 0; i < rowsCount; i++) {
        for (size_t j = 0; j < colsCount; j++)
            std::cout << std::setw(5) << matrix[i][j];
        std::cout << std::endl;
    }
 
    for (size_t i = 0; i < rowsCount; i++)
        delete [] matrix[i];
    delete [] matrix;
 
    std::system("pause");
    return 0;
}
 
Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru