Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication1.cpp : This file contains the 'main' function. Program execution begins and ends there.
- //
- #include "pch.h"
- #include <iostream>
- #include <ctime>
- #include <cmath>
- #include <stdlib.h>
- using namespace std;
- int main()
- {
- srand(time(NULL));
- int currentIndex = 0;
- int sum = 0;
- int rowCounter = 0;
- double **darr2 = NULL;
- size_t rows, cols;
- cout << "Please senter number of rows: ";
- cin >> rows;
- cout << "Please senter number of cols: ";
- cin >> cols;
- int end = 122, begin = -12;
- darr2 = new double*[rows];
- for (int i = 0; i < rows; i++)
- {
- darr2[i] = new double[cols];
- }
- for (int i = 0; i < rows; i++) {
- for (int j = 0; j < cols; j++)
- {
- darr2[i][j] = (double)rand() / RAND_MAX * (end - begin) + begin;
- }
- }
- cout << "Matrix: \n";
- for (int i = 0; i < rows; i++)
- {
- for (int j = 0; j < cols; j++)
- {
- cout << darr2[i][j] << "\t\t";
- }
- cout << endl;
- }
- cout << "Matrix main diagonal:" << endl;
- for (int i = 0; i < rows; i++){
- cout << darr2[i][i] << "\t\t";
- }
- cout << endl;
- cout << "Matrix secondary diagonal: \n";
- for (int i = 0; i < rows; i++)
- {
- cout << darr2[i][cols - i - 1] << "\t\t";
- }
- cout << endl;
- cout << "ZADACHA 2:" << endl;
- for (int i = 0; i < rows; i++)
- {
- for (int j = 0; j < cols; j++)
- {
- if ((i + j) < rows - 1){
- cout << "0" << "\t\t";
- }
- else {
- cout << darr2[i][j] << "\t\t";
- }
- }
- cout << endl;
- }
- cout << endl;
- cout << endl;
- cout << endl;
- int indexj = 0;
- cout << "ZADACHA 3:" << endl;
- for (int i = 0; i < rows; i++)
- {
- for (int j = 0; j < cols; j++) {
- if (i > j) {
- darr2[i][j]= pow(i + j,i);
- }
- }
- }
- for (int i = 0; i < rows; i++)
- {
- for (int j = 0; j < cols; j++) {
- if (i > j) {
- cout << darr2[i][j] << "\t"\t";
- }
- }
- }
- cout << endl;
- cout << endl;
- cout << endl;
- cout << "ZADACHA 4:" << endl;
- cout << "Print Matrix as a spiral: \n";
- int i, k = 0, l = 0, m = rows, n = cols;
- /*
- k - индекс на началния ред
- m - индекс на крайния ред
- l - индекс на началната колона
- n - индекс на крайната колона
- i - итератор
- */
- while (k < m && l < n) {
- //печатане на първия от оставащите редове
- for (i = l;i < n;i++) {
- cout << darr2[k][i] << "\t\t";
- }
- k++;
- //печатане на последната колона от оставащите редове
- for (i = k; i < m;i++) {
- cout << darr2[i][n - 1] << "\t\t";
- }
- n--;
- if (k < m) {//печатане на последния ред от оставащите редове
- for (i = n - 1; i >= l; --i)
- {
- cout << darr2[m - 1][i] << "\t\t";
- }
- m--;
- }
- //печатане на първа колона от оставащите колони
- if (l < n) {
- for (i = m - 1; i >= k; --i)
- {
- cout << darr2[i][l] << "\t\t";
- }
- l++;
- }
- cout << endl;
- }
- for (int i = 0; i < rows; i++)
- {
- delete[] darr2[i];
- }
- delete[] darr2;
- darr2 = NULL;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement