Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Фигурывер2.cpp: определяет точку входа для консольного приложения.
- //
- // Фигуры.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- //#include "stdafx.h"
- #include <stdio.h>
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- #include<iomanip>
- #include<list>
- using namespace std;
- class Figuri {
- int **matrix;
- int M;
- public:
- Figuri();
- void vvod();
- void vivod();
- void Zadanie1();
- void Zadanie2();
- void Zadanie3();
- void Zadanie4();
- };
- Figuri::Figuri() {
- cout << "Vvedite razmer matritci" << endl;
- cin >> M;
- matrix = new int *[M];
- for (int i = 0; i < M; i++)
- matrix[i] = new int[M];
- }
- void Figuri::vvod() {
- for (int i = 0; i < M; i++)
- for (int j = 0; j < M; j++) {
- // cout << "Vvedite element " <<i<<" "<<j<< endl;
- //cin >> matrix[i][j];
- matrix[i][j] = rand() % 2;
- }
- }
- void Figuri::vivod() {
- for (int i = 0; i < M; i++) {
- for (int N = 5; N < M; N++)
- cout << "------------------------------------------" << endl;
- for (int j = 0; j < M; j++) {
- // if (Pole[i][j] == -1) Pole[i][j]=p1;
- if (matrix[i][j] < 0) cout << "| " << matrix[i][j] << " |";
- if ((matrix[i][j] < 10) && (matrix[i][j] >= 0))cout << "| " << matrix[i][j] << " |";
- if (matrix[i][j] >= 10)cout << "| " << matrix[i][j] << " |";
- }
- cout << "";
- cout << endl;
- for (int N = 0; N < M; N++)cout << "";
- }
- cout << "------------------------------------------";
- cout << endl;
- }
- void Figuri::Zadanie1() {// Выводит номера строк в которых 0 и 1 строго чередуются
- int s = M / 2, kol1 = 0;
- for (int i = 0; i < M-1; i++)
- {
- for (int j = 0; j < M-1; j++)
- if (i == j)
- {
- //if ((matrix[i][j] == 0) && (matrix[i + 1][j + 1] == 1) && i<M - 1 && j<M - 1)
- if ((matrix[i][j] == 0) && (matrix[i + 1][j + 1] == 1))
- {
- kol1++;
- }
- }
- }
- if (kol1 == s)cout << "strogoe cheredovanie na glavnoi diagonali" << endl;
- else cout << "net strogogo cheredovaniya na glavnoi diagonali" << endl;
- }
- void Figuri::Zadanie2()//Находит на главной диагонали наибольшей длины цепочку элементов
- {
- int kol1 = 0;
- int kol2 = 0;
- int kol3 = 0;
- int n = 0, n1 = 0;
- for (int j = 0; j < M; j++)
- {
- kol1 = 1;
- kol2 = 1;
- for (int i = 0; i < M - 1; i++) {
- if (matrix[i][j] == 1 && matrix[i + 1][j] == 1)
- {
- n = i;
- n1 = j;
- //cout << n << " " << i << endl;
- }
- if (matrix[i][j] == 1 && matrix[i + 1][j] == 1)
- {
- kol1++;
- }
- if (matrix[i][j] == 0 && matrix[i + 1][j] == 0)
- {
- kol2++;
- }
- if (kol1 > kol2)kol3 = kol1;
- if (kol1 < kol2)kol3 = kol2;
- }
- cout << "V " << j << " stolbtse tsepochka iz " << kol3 << endl;
- }
- }
- void Figuri::Zadanie3()
- {
- int kol = 0;
- for (int i = 0; i < M; i++)
- {
- for (int j = 1; j < M; j++)
- {
- //if (matrix[i][j] != matrix[i - 1][j - 1] && matrix[i][j] != matrix[i - 1][j] && matrix[i][j] != matrix[i - 1][j + 1] && matrix[i][j] != matrix[i][j - 1]
- // && matrix[i][j] != matrix[i][j + 1] && matrix[i][j] != matrix[i + 1][j - 1] && matrix[i][j] != matrix[i + 1][j] && matrix[i][j] != matrix[i +1][j + 1]&&i<M-1&&j<M-1&&i>0&&j>0)
- if (i = j) {
- if (i > 0 && j > 0 && j < M - 1 && i < M - 1 && matrix[i][j] != matrix[i + 1][j + 1] && matrix[i][j] != matrix[i - 1][j - 1] && matrix[i][j] != matrix[i - 1][j + 1] && matrix[i][j] != matrix[i + 1][j - 1] && matrix[i][j] != matrix[i - 1][j] && matrix[i][j] != matrix[i + 1][j] && matrix[i][j] != matrix[i][j - 1] && matrix[i][j] != matrix[i][j + 1])
- {
- kol++;
- cout << "i= " << i << "j= " << j << endl;
- }
- }
- }
- }
- if (kol == 0) cout << "sovpadeniy net" << endl;
- }
- void Figuri::Zadanie4()//Выводит количество V-образных фигур
- {
- int kolvo = 0;
- int kolvo1 = 0;
- for (int i = 0; i < M; i++)
- {
- for (int j = 1; j < M; j++)
- {
- //cout << i << " " << j << endl;
- //if (matrix[i][j] == matrix[i][j - 1] && matrix[i][j] == matrix[i][j + 1] && matrix[i][j] == matrix[i - 1][j] && matrix[i][j] == matrix[i +1][j])
- //if (matrix[i][j] == matrix[i + 1][j - 1] && matrix[i][j] == matrix[i + 2][j - 2] && matrix[i][j] == matrix[i + 1][j + 1] && matrix[i][j] == matrix[i + 2][j + 2])
- if (i>0 && j>0 && j<M - 1 && i<M - 1 && matrix[i][j] == matrix[i][j - 1] && matrix[i][j] == matrix[i][j + 1] && matrix[i][j] == matrix[i - 1][j] && matrix[i][j] == matrix[i + 1][j])
- {
- kolvo++;
- cout << "Centr " << i << " " << j << endl;
- }
- }
- }
- cout << "Kol-vo X figur : " << kolvo << endl;
- for (int i = 0; i < M; i++)
- {
- for (int j = 0; j < M; j++)
- {
- if (i>0 && j>0 && j<M - 1 && i<M - 1 && matrix[i][j] == matrix[i + 1][j + 1] && matrix[i][j] == matrix[i - 1][j - 1] && matrix[i][j] == matrix[i - 1][j + 1] && matrix[i][j] == matrix[i + 1][j - 1])
- //if (matrix[i][j] == matrix[i + 1][j + 1] && matrix[i][j] == matrix[i + 2][j + 2] && matrix[i][j] == matrix[i][j + 2] && matrix[i][j] == matrix[i+2][j])
- {
- kolvo1++;
- cout << "Centr " << i << " " << j << endl;
- }
- }
- }
- cout << "Kol-vo X figur drygie : " << kolvo1 << endl;
- cout << "Vsego figur : " << kolvo + kolvo1 << endl;;
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- srand(time(0));
- Figuri A;
- A.vvod();
- A.vivod();
- A.Zadanie1();//+
- A.Zadanie2();
- A.Zadanie3();//+
- A.Zadanie4();//+
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement