Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <clocale>
- #include <conio.h>
- #include <ctime>
- // Функция для инициализации массива случайными числами от 1 до 10
- void InitArray(int Array[], int n) {
- for (int i = 0; i < n; i++) {
- Array[i] = rand() % 10;
- }
- }
- /* Функция для печати массива на экран. start - позиция, с которой начинаем печатать,
- length - количество выводимых элементов, начиная с элемента start */
- void PrintArray(int Array[], int start, int length) {
- for (int i = start; i <= length + start - 1; i++) {
- std::cout << Array[i] << "\t";
- }
- std::cout << std::endl;
- }
- // Функция для поиска максимального элемента в массиве
- int FindMax(int Array[], int n) {
- int max = Array[0];
- for (int i = 0; i < n; i++) {
- if (Array[i] > max) {
- max = Array[i];
- }
- }
- return max;
- }
- // Функция для замены нулей определенным элементов
- void SwapZeros(int Array[], int n, int e) {
- for (int i = 0; i < n; i++) {
- if (Array[i] == 0) {
- Array[i] = e;
- }
- }
- }
- // Везде подписано std::, потому что не используется пространство имен std
- int main() {
- setlocale(LC_ALL, "Russian");
- srand(time(0));
- const int n = 5, m = 6, k = 7, l = 5;
- int X[n], Y[m], Z[k], Q[l];
- char Choice[16];
- strcpy_s(Choice, 16, "Yes");
- while (strcmp(Choice, "Yes") == 0) {
- InitArray(X, n);
- InitArray(Y, m);
- InitArray(Z, k);
- InitArray(Q, l);
- std::cout << "Массив X: " << std::endl;
- PrintArray(X, 0, n);
- std::cout << "Массив Y: " << std::endl;
- PrintArray(Y, 0, m);
- std::cout << "Массив Z: " << std::endl;
- PrintArray(Z, 0, k);
- std::cout << "Массив Q: " << std::endl;
- PrintArray(Q, 0, l);
- // Находим максимальные элементы в каждом массиве
- int R[4];
- R[0] = FindMax(X, n);
- R[1] = FindMax(Y, m);
- R[2] = FindMax(Z, k);
- R[3] = FindMax(Q, l);
- std::cout << "Максимальный элемент в массиве X: " << R[0] << std::endl;
- std::cout << "Максимальный элемент в массиве Y: " << R[1] << std::endl;
- std::cout << "Максимальный элемент в массиве Z: " << R[2] << std::endl;
- std::cout << "Максимальный элемент в массиве Q: " << R[3] << std::endl;
- // Находим максимальный элемент среди максимальных
- int Max = FindMax(R, 4);
- std::cout << "Максимальный элемент среди максимальных: " << Max << std::endl;
- if (R[0] == Max) {
- SwapZeros(X, n, R[0]);
- std::cout << "Массив X с максимальными элементами вместо нулей: " << std::endl;
- PrintArray(X, 0, n);
- }
- else if (R[1] == Max) {
- SwapZeros(Y, m, R[1]);
- std::cout << "Массив Y с максимальными элементами вместо нулей: " << std::endl;
- PrintArray(Y, 0, m);
- }
- else if (R[2] == Max) {
- SwapZeros(Z, k, R[2]);
- std::cout << "Массив Z с максимальными элементами вместо нулей: " << std::endl;
- PrintArray(Z, 0, k);
- }
- else {
- SwapZeros(Q, l, R[3]);
- std::cout << "Массив Q с максимальными элементами вместо нулей: " << std::endl;
- PrintArray(Q, 0, l);
- }
- std::cout << "Еще раз? (Yes/No): ";
- gets_s(Choice, 16);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement