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

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

07.10.2016, 20:17. Показов 1121. Ответов 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
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru