Untitled

Run Settings
LanguageC++
Language Version
Run Command
#include <stdio.h> #include <iostream> #include <conio.h> #include <math.h> #include <iomanip> #include <algorithm> using namespace std; void task909(int massive[10][10]) //909. Найти номер строки и столбца Двумерного массива для максимального элемента этого массива. { int max = 0; int imax = -1; int jmax = -1; max = massive[0][0]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { if (massive[i][j] >= max) { max = massive[i][j]; imax = i; jmax = j; } } } cout << "max = " << max << " pos = [" << imax + 1 << ", " << jmax + 1 << "]" << endl; } void task951(int massive[10][10]) //Дан Двумерный массив. //а) Заменить значения всех элементов второй строки массива числом 5. //б) Заменить значения всех элементов пятого столбца массива числом 10. { cout << "Заменил значения всех элементов второй строки массива числом 5: " << endl; for (int i = 0; i < 10; i++) { massive[1][i] = 5; } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { cout.width(2); cout << massive[i][j] << " "; } cout << endl; } cout << "Заменил значения всех элементов пятого столбца массива числом 10: " << endl; for (int i = 0; i < 10; i++) { massive[i][5] = 10; } for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { cout.width(2); cout << massive[i][j] << " "; } cout << endl; } } void task979() //979. Дана вещественная квадратная матрица порядка 2n. //Получить новую матрицу, переставляя ее блоки размера n × n по часовой стрелке, начиная с блока в левом верхнем углу. { int N = 0; while (N == 0) { cout << "введите размер 2n :" << endl; if (!(cin >> N)) { cin.clear(); cin.ignore(65535, '\n'); } } int** A, ** B1, ** B2, ** B3, ** B4, i, j, k, m; //A[2 * N][2 * N]; A = new int* [2 * N]; //B1[N][N]; B1 = new int* [N]; //B2[N][N]; B2 = new int* [N]; //B3[N][N]; B3 = new int* [N]; //B4[N][N]; B4 = new int* [N]; cout << "стартовый массив\n"; for (i = 0; i < 2 * N; i++) { A[i] = new int[2 * N]; B1[i] = new int[N]; B2[i] = new int[N]; B3[i] = new int[N]; B4[i] = new int[N]; for (j = 0; j < 2 * N; j++) { A[i][j] = rand() % 10; cout << setw(2) << A[i][j] << " "; } cout << endl; } for (int p = 0; p < 4; p++) { //создаем блоки В1..В4 for (i = 0; i < N; i++) for (j = 0; j < N; j++) B1[i][j] = A[i][j]; for (i = 0; i < N; i++) for (j = N, m = 0; j < 2 * N; j++, m++) B2[i][m] = A[i][j]; for (i = N, k = 0; i < 2 * N; i++, k++) for (j = N, m = 0; j < 2 * N; j++, m++) B3[k][m] = A[i][j]; for (i = N, k = 0; i < 2 * N; i++, k++) for (j = 0; j < N; j++) B4[k][j] = A[i][j]; //собираем блоки в А for (i = 0; i < N; i++) for (j = 0; j < N; j++) A[i][j] = B4[i][j]; for (i = 0; i < N; i++) for (j = N, k = 0; j < 2 * N; j++, k++) A[i][j] = B1[i][k]; for (i = N, k = 0; i < 2 * N; i++, k++) for (j = N, m = 0; j < 2 * N; j++, m++) A[i][j] = B2[k][m]; for (i = N, k = 0; i < 2 * N; i++, k++) for (j = 0; j < N; j++) A[i][j] = B3[k][j]; cout << "\nизмененный массив\n"; for (i = 0; i < 2 * N; i++) { for (j = 0; j < 2 * N; j++) cout << setw(2) << A[i][j] << " "; cout << endl; } } } void task1014(int massive[10][10]) /*1014. Расстояние между k-й и l-й строками квадратной матрицы А(n, n) определяется как . Указать номер строки, максимально удаленной от первой строки заданной матрицы.*/ { int n = 0; cout << " введите номер первой строки :" << endl; int k = 0; while (k == 0) { if (!(cin >> k)) { cin.clear(); cin.ignore(65535, '\n'); } } cout << " введите номер второй строки :" << endl; int l = 0; while (l == 0) { if (!(cin >> l)) { cin.clear(); cin.ignore(65535, '\n'); } } //cout << "расстояние между строками : " << abs(l - k) << endl; //cout << "расстояние между первой и максимально отдалеленой строкой : " << abs(1 - n) << endl; double r = 0; r = sqrt(k * k + 1) + sqrt(l * l + 1); cout << "расстояние между строками : " << r << endl; cout << "максимальное расстояние между строками : " << sqrt(k * k + 1) + sqrt(2*(n * n) + 1) << endl; } void task1049(int massive[10][10]) /*. Дан Двумерный массив. Составить программу, которая: а) переставляет две любые строки массива; б) переставляет два любых столбца массива */ { int k = 0, l = 0, y = 0; while (k == 0) { cout << "введите номер 1 строки :" << endl; if (!(cin >> k)) { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } if ((k <= 0) || (k > 10)) { k = 0; } } while (l == 0) { cout << "введите номер 2 строки :" << endl; if (!(cin >> l)) { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } if ((l <= 0) || (l > 10)) { l = 0; } } for (int j = 0; j < 10; j++) { cout.width(2); cout << massive[k - 1][j] << " "; } cout << endl; for (int j = 0; j < 10; j++) { cout.width(2); cout << massive[l - 1][j] << " "; } cout << endl; k = l = 0; while (k == 0) { cout << "введите номер 1 столбца :" << endl; if (!(cin >> k)) { cin.clear(); cin.ignore(65535, '\n'); cout << "неправильный ввод" << endl; } if ((k <= 0) || (k > 10)) { k = 0; } } while (l == 0) { cout << "введите номер 2 столбца :" << endl; if (!(cin >> l)) { } if ((l <= 0) || (l > 10)) { l = 0; } } cout << endl; for (int j = 0; j < 10; j++) { cout.width(2); cout << massive[j][k - 1] << "\t" << massive[j][l - 1] << endl; } cout << endl; } void main() { setlocale(LC_ALL, "Russian"); cout << "массив используемый в дальнейших вычислениях :" << endl; int k = 0, s = 0; int massive[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { massive[i][j] = rand() % 100; cout.width(2); cout << massive[i][j] << " "; } cout << endl; } while (s == 0) { cout << "введите номер задания (909,951,979,1014,1049. для выхода из программы введите 1)" << endl; if (!(cin >> k)) { cin.clear(); cin.ignore(65535, '\n'); } if (k == 1) { break; } switch (k) { case 909: { cout << "Задание № 909 : " << endl; task909(massive); break; } case 951: { cout << "Задание № 951 : " << endl; task951(massive); break; } case 979: { cout<<"Задание № 979"<<endl; task979(); break; } case 1014: { cout << "Задание № 1014 : " << endl; task1014(massive); break; } case 1049: { cout << "Задание № 1049 : " << endl; task1049(massive); break; } default: { cout << "Упс..Это задание я не делал"<<endl; } } } }
Editor Settings
Theme
Key bindings
Full width
Lines