ZADATAK: Matrice

Napraviti program Matrice koji korisniku daje opciju da unese matricu te da izvrsi neku od ponuđenih operacija nad matricom.

#include <iostream>
using namespace std;
int matrica[10][10], matrica2[10][10], C[10][10] = {0};
int n;
void IspisGornje() {
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {       // gornji elem 01,02,03..23..       if (j > i) {
        cout << matrica[i][j] << " ";
      } else
        cout << "*"
             << " ";
    }
    cout << endl;
  }
}
void Zamijeni() {
  int clan;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {  // elem dijagonale
      if (i == j) {
        cout << "Unesi clan " << i << " " << j << endl;         cin >> clan;
        matrica[i][j] = clan;
      }
    }
    cout << endl;
  }
  cout << "Zamijenjena: " << endl;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      cout << matrica[i][j] << " ";
    }
    cout << endl;
  }
  cout << endl;
}
void MaxMin() {
  int max = matrica[0][0];
  int min = matrica[0][0];
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {       // trazenje max i min       if (matrica[i][j] > max) {
        max = matrica[i][j];
      }
      if (matrica[i][j] < min) {
        min = matrica[i][j];
      }
    }
  }
  cout << "Max: " << max << endl;
  cout << "Min: " << min << endl;
  cout << endl;
}
void Pomnozi() {
  int k, l;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      // mnozenje matrica
      k = 0, l = 0;
      while (k < n) {
        C[i][j] += matrica[i][k] * matrica2[l][j];
        k++;
        l++;
      }
    }
    cout << endl;
  }
  cout << "A*B " << endl;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      cout << C[i][j] << " ";
    }
    cout << endl;
  }
}
int main() {
  char p = 'z';
  cout << "Unesi dimenziju matrice nxn" << endl;   cin >> n;
  cout << "Unesi matricu:";
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {       cin >> matrica[i][j];
    }
  }

  while (p != 0) {  // p char pomocu kojeg biramo opciju
    cout << "Unesi opciju koju zelite: " << endl;
    cout << "1-ispisati gornje trougaonu" << endl;
    cout << "2-zamijeniti elem dijagonale sa novim" << endl;
    cout << "3-ispisi max i min" << endl;
    cout << "4-pomnozi matrice" << endl;
    cout << "0-izlaz" << endl;     cin >> p;
    if (p == '1') {
      IspisGornje();
    } else if (p == '2') {
      Zamijeni();
    } else if (p == '3') {
      MaxMin();
    } else if (p == '4') {
      cout << "Unesi drugu matricu: ";
      for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {           cin >> matrica2[i][j];
        }
      }
      Pomnozi();
    }

    else if (p == '0')
      break;
  }
  system("pause");
  return 0;
}

Capture

Komentariši