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

Найти сумму максимальных значений элементов строк заданной матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчёт кол-ва вхождений слова в текст http://www.cyberforum.ru/cpp-beginners/thread556845.html
Всем доброго времени суток!Очень нужна Ваша помощь. Есть программа,которая определяет,встречается ли в заданном текстовом файле заданная последовательность символов,нужно её изменить так,чтобы еще и...
C++ Задача на календарь! Здравствуйте!У меня проблема, я не могу написать задачу!Помогите пожалуйста, Заранее спасибо! Газета выходит ежедневно, кроме воскресений. Определить дату выхода n-го номера газеты в k-м году,... http://www.cyberforum.ru/cpp-beginners/thread556841.html
Литература по ООП для новичков C++
Доброго времени суток. Учусь на 2 курсе. Учились по Павловской, структурное программирование, все вроде понятно, перешли на Лаптева ООП- полная запара, ничего не понимаю. Подскажите литературу, где...
В файле содержится информация о железнодорожном расписании C++
В файле содержится информация о железнодорожном расписании (номер поезда, время прибытия на станция, время отправления название станции ). Разработать структуру поезд, соответствующую формата файла....
C++ поиск по бору http://www.cyberforum.ru/cpp-beginners/thread556827.html
Помогите пожалуйста написать функцию которая ищет методом поиска по бору ключ(число) в массиве или какие-нибудь ссылки на эту тему.
C++ Составить программу для нахождения суммы... помогите разобраться подробнее

Показать сообщение отдельно
alkagolik
Заблокирован
24.04.2012, 03:16
Цитата Сообщение от Andrewss Посмотреть сообщение
Создать функцию преобразования двумерного массива в одномерный.
Это как бы невозможно. Преподаватель предлагает объявить указатель на указатель, а потом чудным образом его "преобразовать" в просто указатель. Уточни у него эти слова, он видимо был после большой гулянки когда давал задачи.
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
93
94
95
96
97
98
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
class parampampam {
    
private:
#define DEFAULT_SIZE    ( 5 )
    int **matrix;
    int *array;
    size_t size;
    size_t index_array;
 
public:
    
    parampampam() {
        size = DEFAULT_SIZE;        
        matrix = new int* [ size ];        
        for ( size_t i = 0; i < size; ++i )
            matrix[ i ] = new int[ size ];
        array = new int[ size * size ];
        index_array = 0;
    }
    
    parampampam ( size_t y ) {
        size = y;        
        matrix = new int* [ size ];        
        for ( size_t i = 0; i < size; ++i )
            matrix[ i ] = new int[ size ];
        array = new int[ size * size ];
        index_array = 0;
    }
    
    int max_of_row( int* arr ) {        
        int max = arr[ 0 ];
        size_t i = 1;        
        while ( i < size ) {
            if ( max < arr[ i ] )
                max = arr[ i ];
            ++i;
        }
        return max;
    }
    
    int sum_of_max() {        
        int sum = 0;
        for ( size_t i = 0; i < size; ++i )
            sum += max_of_row( matrix[ i ] );
        return sum;
    }
    
    void set_rand_member() {        
        for ( size_t i = 0; i < size; ++i )
            for ( size_t j = 0; j < size; ++j ) {
                array[ index_array ] = matrix[ i ][ j ] = rand() % 10;
                ++index_array;
            }
        index_array = 0;
    }
    
    void print_matrix() {
        for ( size_t i = 0; i < size; ++i ) {
            for ( size_t j = 0; j < size; ++j )
                std::cout << std::setw( 2 ) << matrix[ i ][ j ];
            std::cout << std::endl;
        }
        std::cout << std::endl;
    }
    
    void print_array() {
        size_t i = size * size;
        while ( index_array < i )
            std::cout << std::setw( 2 ) << array[ index_array++ ];
        std::cout << std::endl;
        index_array = 0;
    }
    
    ~parampampam(){
        for ( size_t i = 0; i < size; ++i )
            delete [] matrix[i];
        delete [] matrix;
        delete [] array;
    }
};
 
int main() {
    srand( time ( 0 ) );    
    parampampam x(4);
    x.set_rand_member();
    x.print_matrix();
    std::cout << "сумма максимумов строк = " << x.sum_of_max() << std::endl;
    std::cout << "массив ";
    x.print_array();
    std::cout << std::endl;
        
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru