Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Вывести номера столбцов, элементы каждого из которых образуют монотонную последовательность.
- */
- #include <conio.h>
- #include <iostream>
- #include <ctime>
- #include <clocale>
- using namespace std;
- void z1(int);
- void random(int**);
- void keyboard(int**);
- void init(int**);
- const int n = 5;
- int main (){
- setlocale(0, "rus");
- while(true){
- cout << "1. Заполнить массив случайными числами.\n";
- cout << "2. Заполнить массив вводом с клавиатуры\n";
- cout << "3. Заполнить массив при инициализации\n";
- int a;
- cout << ">>";
- cin >> a;
- switch(a){
- case 1: z1(1); break;
- case 2: z1(2); break;
- case 3: z1(3); break;
- default: cout << "Введен неверный номер!\n";
- }
- }
- _getch();
- return 0;
- }
- void random(int **mas){
- srand(unsigned int(time(NULL)));
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++){
- mas[i][j] = (rand() % 256 + 1);
- }
- }
- }
- void keyboard(int **mas){
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++){
- cout << "["<< i <<"]" << "[" << j << "] = ";
- cin >> mas[i][j];
- cout << endl;
- }
- }
- }
- void init(int **mas){
- int masi[n][n] = { {125, 343, 142, 154, 1},
- {222, 78, 57, 12, 65},
- {342, 426, 75, 23, 654},
- {454, 23, 12, 64, 888},
- {2337, 354, 357, 23,999}};
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++){
- mas[i][j] = masi[i][j];
- }
- }
- }
- void z1(int ch){
- int arr[n][n];
- int *par[n];
- int flag_up, flag_down;
- if(ch == 1){
- for (int i = 0; i < n; i++){
- par[i] = arr[i];
- }
- random(par);
- }
- else if(ch == 2){
- for (int i = 0; i < n; i++){
- par[i] = arr[i];
- }
- keyboard(par);
- }
- else{
- for (int i = 0; i < n; i++){
- par[i] = arr[i];
- }
- init(par);
- }
- cout << "\nИсходная матрица: \n";
- for (int i = 0; i < n; i++){
- for (int j = 0; j < n; j++){
- cout << arr[i][j] << ", ";
- }
- cout << endl;
- }
- cout << endl;
- for (int i = 0; i < n; i++){
- flag_down = 1;
- flag_up = 1;
- for (int j = n-1; j > 0; j--){
- if(abs(arr[j][i]) > abs(arr[j-1][i])){
- flag_up++;
- }
- else if(abs(arr[j][i]) < abs(arr[j-1][i])){
- flag_down++;
- }
- }
- if(flag_up == n || flag_down == n){
- cout << "Номер столбца: " <<i+1 << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement