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

Представляя строки матрицы, расположить их в соответствии с убыванием характеристик - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка методом выбора http://www.cyberforum.ru/cpp-beginners/thread672838.html
Выполните сортировку вещественного массива методом выбора: выбирается наименьший элемент и меняется местами с первым элементом массива, затем рассматриваются элементы, начиная со второго, и наименьший из них меняется местами со вторым элементом, и так далее n-1 раз.
C++ Получение инфы. из файла с изображением Здравствуйте,ув. форумчане=) Помогите пожалуйста) Нужно получить некоторые данные из файла формата bmp а именно ширину,высоту,и глубину(бит на пиксель) зная структуру бмп - http://c-site.h1.ru/infa/bmp_struct.htm пишу вот код: #include <cstdlib> #include <stdio.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread672834.html
Посоветуйте хорошую книгу по С++ C++
Практически уверен, что это тема уже не раз здесь подымалась, но все же. :pardon:... Посоветуйте хорошую книгу по С++, которая сможет доходчиво объяснить все азы программирования, и по которой можно будет не только изучать теорию, а и практиковаться в построении программ. Я просто начал изучать книгу Страуструпа "Язык программирования С++", но я там дошел до первых практических заданий, и сделать...
C++ Класс в динамической библиотеке
main.cpp #include <QtCore/QTimer> #include <QtCore/QCoreApplication> #include <QtCore/QLibrary> #include <QtCore/QTextStream> #include <windows.h> typedef void (*func1)();
C++ Найти сумму квадратов цифр введённого числа http://www.cyberforum.ru/cpp-beginners/thread672819.html
Мне нужно найти сумму квадратов цифр введённого числа. Допустим ввожу 63, компьютер должен выдавать результат 45, то есть 6*6+3*3. Составил следующий код, но не знаю где ошибку, компилятор выдаёт при вводе числа 63 результат 15. Похоже что 3 он перемножает, а 6 просто прибавляет. #include <iostream> #include <cmath> using namespace std; int main () { int n, i=0, sqr=0; cin >> n;
C++ По введенному номеру года получить его название по старояпонскому календарю. В старояпонском календаре был принят двенадцатилетний цикл, годы внутри которого назывались соответственно: крыса, корова, тигр, заяц, дракон, змея, лошадь, овца, обезьяна, петух, собака и свинья. По введенному номеру некоторого года получить его название по старояпонскому календарю. (Для справки: 1996 г. — год крысы и начало очередного цикла.) подробнее

Показать сообщение отдельно
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
16.10.2012, 22:49     Представляя строки матрицы, расположить их в соответствии с убыванием характеристик
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
#include <iostream>
#include <iomanip>
#include <random>
#include <algorithm>
 
template<typename T, size_t rows, size_t cols>
void swap_rows(T (&matrix)[rows][cols], int row1, int row2)
{
    for (int i = 0; i < cols; i++)
    {
        T buf = matrix[row1][i];
        matrix[row1][i] = matrix[row2][i];
        matrix[row2][i] = buf;
    }
}
 
template<typename T>
void dump_row(const T *arr, int size, const std::streamsize& fieldSize)
{
    for (int i = 0; i < size; i++)
        std::cout << std::setw(fieldSize) << arr[i];
    std::cout.put('\n');
}
 
template<typename T, size_t rows, size_t cols>
void dump_matrix(T (&matrix)[rows][cols], const std::streamsize& fieldSize)
{
    for (int i = 0; i < rows; i++)
        dump_row<T>(matrix[i], cols, fieldSize);
}
 
int main()
{
    const int rows = 4;
    const int cols = 5;
    int matrix[rows][cols];
    std::random_device rd;
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            matrix[i][j] = rd() % 21 - 10;
    dump_matrix<int, rows, cols>(matrix, 5);
    int col = -1;
    for (int i = 0; i < cols; i++)
        for (int j = 0; j < rows; j++)
            if (matrix[j][i] == 0)
            {
                col = i;
                break;
            }
 
    int chars[rows] = { 0 };
    int buf;
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            if (matrix[i][j] < 0 && matrix[i][j] % 2 == 0)
                chars[i] += matrix[i][j];
            
 
    for (int i = 0; i < rows - 1; i++)
        for (int j = i + 1; j < rows; j++)
            if (chars[i] < chars[j])
            {
                swap_rows<int, rows, cols>(matrix, i, j);
                std::swap(chars[i], chars[j]);
            }
    std::cout << "\nFirst columns with zero: " << col << "\n\n";
    
    dump_matrix<int, rows, cols>(matrix, 5);
    return 0;
}
 
Текущее время: 23:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru