Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream> // Input output stream
- #include <ctime> // for random number generation
- #include <stdio.h> // printf library
- #include <string>
- #include <limits> // cin.ignore(numeric_limits<streamsize>::max(),'\n');
- #include <fstream> // File input and output.
- #include <cmath> // pow.
- #include <iomanip>
- using namespace std;
- // Dvimacio masyvo dydis. x = y - kvadratine matrica
- const int XMax = 5;
- const int YMax = 5;
- // Funkciju prototipai
- void randGenerator(int mas [] [YMax], int sizeX, int sizeY);
- void printOut(int mas [] [YMax], int sizeX, int sizeY);
- void zeroColumn(int mas [] [YMax], int sizeX, int sizeY);
- void iSuma(int mas [] [YMax], int sizeX, int sizeY);
- void horizontalSwitch(int mas [] [YMax], int sizeX, int sizeY);
- // Pagrindine programa
- int main(int argc, char *argv[])
- {
- // Randomiser initializing
- srand(time(NULL));
- // Array initializing
- int dMas [XMax] [YMax];
- int mas [2] [2] = {{1, 2}, {3, 4}};
- // Binary generator;
- randGenerator(dMas, XMax, YMax);
- // Display to console.
- printOut(dMas, XMax, YMax);
- // 1. Zero column
- zeroColumn(dMas, XMax, YMax);
- // 2. Pagr. istrizaine
- iSuma(dMas, XMax, YMax);
- // 8. Horizontalios asies sukeitimas
- horizontalSwitch(dMas,XMax, YMax);
- printOut(dMas, XMax, YMax);
- cout << " " << endl;
- //system ("PAUSE");
- //return EXIT_SUCCESS;
- return 0;
- }
- // Funkcijos
- void randGenerator(int mas[] [YMax], int sizeX, int sizeY)
- {
- for (int i = 0; i < sizeX; i++)
- {
- for (int j = 0; j < sizeY; j++) {
- //mas [i] [j] = rand() % 2; // 0 or 1
- mas [i] [j] = -5 + (rand() %(10 + 1)); // from -5 to 5
- }
- }
- }
- void printOut(int mas [] [YMax], int sizeX, int sizeY)
- {
- for (int i = 0; i < sizeX; i++)
- {
- for (int j = 0; j < sizeY; j++)
- cout << setw(2) << mas [i] [j] << " ";
- cout << endl;
- }
- cout << endl;
- }
- void zeroColumn(int mas [] [YMax], int sizeX, int sizeY)
- {
- bool emptyC = false;
- int C = 0;
- int kuris;
- for (int i = 0; i < sizeY; i++)
- {
- for (int j = 0; j < sizeX; j++)
- {
- if (mas [j] [i] == 0)
- C++;
- kuris = i;
- }
- if (C == sizeX)
- {
- emptyC = true;
- break;
- }
- C = 0;
- }
- if (emptyC) cout << "Yra stulpelis tik su nuliais : " << kuris+1 << endl;
- }
- void iSuma(int mas [] [YMax], int sizeX, int sizeY)
- {
- int suma = 0;
- int sandg = 1;
- int counter = 0;
- if (sizeX == sizeY)
- {
- for (int i = 1; i < sizeX; i++)
- {
- for (int j = 0; j < i; j++)
- {
- if (mas [i] [j] > 0)
- suma += mas [i] [j];
- }
- }
- cout << "Teigiamu elementu, esanciu po pagrindine istrizaine suma : " << suma << endl << endl;
- }
- else cout << "Masyvas ne kvadratinis!" << endl << endl;
- if (sizeX == sizeY)
- {
- for (int i = 0; i < sizeX; i++)
- {
- for (int j = i+1; j < sizeY; j++)
- {
- if (mas [i] [j] < 0)
- {
- sandg *= mas [i] [j];
- counter++;
- }
- }
- }
- if (counter != 0) cout << "Neigimu elementu, esanciu virs pagrindines istrizaines sandauga : " << sandg << endl << endl;
- else cout << "Nebuvo neigiamu elementu virs pagrindines istrizaines." << endl;
- }
- else cout << "Masyvas ne kvadratinis!" << endl << endl;
- }
- void horizontalSwitch(int mas [] [YMax], int sizeX, int sizeY)
- {
- int temp = 0;
- cout << "Horizontaliai sukeistas dvimatis masyvas" << endl;
- for (int i = 0; i < sizeX / 2; i++)
- {
- for (int j = 0; j < sizeY; j++)
- {
- temp = mas [i] [j];
- mas [i] [j] = mas [sizeX-i-1] [j];
- mas [sizeX-i-1] [j] = temp;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement