Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 02.10.2016
Сообщений: 110

Реализовать функцию преобразования матрицы согласно условию

07.10.2016, 20:17. Показов 1153. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Выполнить задания лабораторной работы №3 в виде функций с входными параметрами, таким образом, чтобы номер выполняемого задания задавался с клавиатуры, а выполнение задание предварялось сообщением типа «Выполняется задание №…». Вывод этого сообщения также оформить в виде функции.

вот сама программа
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
#include "windows.h"
#include <iostream>
#include <vector>
#include <time.h>
#include <algorithm>
 
using namespace std;
 
int main(void)
{
    setlocale(0, "");
    srand(time(NULL));
    int row, col;
    cout << "Vvedite kolichestvo strok = ";
    cin >> row;
    cout << "Vvedite kolichestvo stolbtsov = ";
    cin >> col; cout << endl;
 
    vector<vector<int> > A(row);
    cout << "Matriza A:" << endl << endl;
    for (int i = 0; i < row; i++)
    {
        A[i].resize(col);
        for (int j = 0; j < col; j++){ A[i][j] = rand() % 100; cout << A[i][j] << "\t "; }
        cout << '\n';
    }
    cout << endl;
    vector<vector<int> > B(row);
    cout << "Matriza B:" << endl << endl;
    for (int i = 0; i < row; i++)
    {
        B[i].resize(col);
        for (int j = 0; j < col; j++){ B[i][j] = rand() % 100; cout << B[i][j] << "\t "; }
        cout << '\n';
    }
    cout << endl;
    vector<vector<int> > C(row);
    cout << "Matriza C:" << endl << endl;
    for (int i = 0; i < row; i++)
    {
        C[i].resize(col);
        for (int j = 0; j < col; j++){ C[i][j] = rand() % 100; cout << C[i][j] << "\t "; }
        cout << '\n';
    }
    cout << endl;
    vector<vector<int> > X(row);
    cout << "Matriza X, soglasno usloviu zadaniya  :" << endl << endl;
    for (int i = 0; i < row; i++)
    {
        X[i].resize(col);
        for (int j = 0; j < col; j++)
        {
            X[i][j] = max(A[i][j], B[i][j]);
            X[i][j] = max(X[i][j], C[i][j]); cout << X[i][j] << "\t";
        }
        cout << '\n';
    }
    cout << endl;
    system("pause");
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.10.2016, 20:17
Ответы с готовыми решениями:

Реализовать в пользовательском классе дружественную функцию согласно условию
Помогите пожалуйста, много задач за день прорешал и эту уже не понимаю(( Дан класc. Добавьте дружественную функцию ИмяФункции(),...

Реализовать функцию нахождения двух крайних отрицательных чисел и сортировки массива согласно условию
Доброе время суток! Подскажите, как функцией сделать следующее.... Функция находит два крайних отрицательных числа и сортирует массив...

Реализовать функцию нахождения двух крайних положительных чисел и сортировки массива согласно условию
Доброе время суток! Подскажите, как функцией сделать следующее.... Функция находит два крайних положительных числа и сортирует массив...

3
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
07.10.2016, 23:15
Можешь всё это переписать в функции и добавить cin >> num_of_ex;, написать одну функцию которая принимает как параметр num_of_ex и используя switch призвать ту функцию которая тебе нужна.
0
1 / 1 / 0
Регистрация: 02.10.2016
Сообщений: 110
08.10.2016, 13:10  [ТС]
если бы я знал как это сделать...
0
18 / 18 / 12
Регистрация: 06.10.2015
Сообщений: 94
10.10.2016, 00:44
Цитата Сообщение от Merfes07 Посмотреть сообщение
если бы я знал как это сделать...
Не проблема.
Кликните здесь для просмотра всего текста
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
#include <iostream>
#include <time.h>
#include <algorithm>
 
using namespace std;
 
void fill_matrix(int**, int, int);
void max_elements(int**, int**, int**, int, int);
void print(int**, int, int);
void destruct(int**, int);
 
int main(void)
{
    setlocale(LC_ALL, "Russian");
    srand(time(NULL));
    int row, col;
    cout << "Привет пользователь. Ну что начнем нашу работу? Нам нужно создать матрицу. Ну а у матрицы есть ведь размерность.";
 
    cout << "\nВведите количество строк: ";
    cin >> row;
    cout << "Введите количество столбцов: ";
    cin >> col; 
    cout << "Ты молодец. Ты задал размерность матриц. Ну а теперь создадим эти три матрицы. Ты спросишь себя "почему сразу 3 может я хочу создать больше", но это уже другая история. :D ";
    
    int** A = new int*[row];
 
    for (int count = 0; count < row; count++)
    {
        A[count] = new int[col];
    }
 
    int** B = new int*[row];
 
    for (int count = 0; count < row; count++)
    {
        B[count] = new int[col];
    }
 
    int** C = new int*[row];
 
    for (int count = 0; count < row; count++)
    {
        C[count] = new int[col];
    }
    cout << "\nТеперь если вы хотите заполнить эти матрицы нажмите: Y , в противном случае нажмите: N\n";
 
    char ch;
 
    cin >> ch;
 
    switch (ch)
    {
    case 'Y':
        fill_matrix(A, row, col);
        fill_matrix(B, row, col);
        fill_matrix(C, row, col);
        break;
    default:
        cout << "Эх друг что поделать нам придется их заполнить. \n";
        fill_matrix(A, row, col);
        fill_matrix(B, row, col);
        fill_matrix(C, row, col);
        break;
    }
 
    cout << "\nМожет хотите чтоб мы вывели эти матрицы на экран? Если да нажмите: Y, если нет N\n";
 
    cin >> ch; 
 
    switch (ch)
    {
    case 'Y':
        print(A, row, col);
        cout << endl;
        print(B, row, col);
        cout << endl;
        print(C, row, col);
        cout << endl;
        break;
    case 'N':
        break;
    }
 
    cout << "Ну что теперь нам нужно выполнить хоть что нибудь над этими матрицами не так ли? \n";
    cout << "Нажми на: Y если да и на: N если нет. (Ну если ты понял, то нажать на N не имеет смысла :D!)\n";
 
    cin >> ch;
 
    cout << "Ну что начнем!\n";
    cout << "выберите нужное задание. (Внимание, настоятельно рекомендуем выбрать задание с номером 1, т.к. других заданий мы еще не придумали)\n";
    cout << "1. Составить матрицу элементы которой будут максимальными из трех предыдущих матриц.\n";
    cout << "2. ???????????\n";
    cout << "3. ???????????\n";
    cout << "4. ???????????\n";
 
    cin >> ch;
 
    switch (ch)
    {
    case '1':
                cout << "Выполняется задание с номером 1.\n";
        max_elements(A, B, C, row, col);
        break;
    default:
        break;
    }
 
    cout << "Ну все на сегодня хватит. Спокойной ночи всем. Я спать.";
 
    destruct(A, row);
    destruct(B, row);
    destruct(C, row);
 
    return 0;
}
 
 
 
void max_elements(int** A, int** B, int** C, int row, int col)
{
    int** X = new int*[row];
    for (int count = 0; count < row; count++)
    {
        X[count] = new int[col];
    }
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            X[i][j] = max(A[i][j], B[i][j]);
            X[i][j] = max(X[i][j], C[i][j]);
        }
    }
 
    cout << "Вот и наша матрица с максимальными элементами из всех трех матриц\n";
    print(X, row, col);
}
 
 
void print(int** A, int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            cout << A[i][j] << " ";
        }
        cout << '\n';
    }
    cout << endl;
}
 
 
 
void fill_matrix(int** A, int row, int col)
{
    for (int i = 0; i < row; i++)
    {
        for (int j = 0; j < col; j++)
        {
            A[i][j] = rand() % 100;
        }
    }
}
 
void destruct(int** A, int row)
{
    for (size_t i = 0; i < row; i++)
    {
        delete[] A[i];
    }
 
    delete[] A;
}


Это то что тебе нужно я просто вместо векторов воспользовался динамическими массивами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2016, 00:44
Помогаю со студенческими работами здесь

В заданных последовательностях чисел произвести преобразования согласно условию и объединить последовательности в одну
Даны две последовательности целых чисел. В первой последовательности после каждого четного элемента, кратного X, вставить новый элемент,...

Реализовать программу расшифровки аббревиатур согласно условию
я думаю взять map и что-то с replace_if применять

Реализовать управление excel-файлом согласно условию
Есть экселевская таблица, реально огромная, как можно написать программу(желательно в с++), чтобы я вводил название строк из таблицы и...

Реализовать перестановку цифр заданного числа согласно условию
Как убрать впереди 0 в примере номер 2?А то выводит 0142 Вот код : #include &lt;iostream&gt; using namespace std; int main() { int...

Реализовать программу, моделирующую приём заказов в интернет-фирме, согласно условию
Школьная задачка на с++ Напишите пожалуйста вообще нечего не понимаю в програмирований Фирма набирает заказы через Интернет, заказ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru