Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // matrices.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- #include "matrices.h"
- ostream& operator<<(ostream&os, matrice&b) {
- os << "Contenu de la matrice:" << endl;
- for(unsigned i=0; i<b.lignes;i++) {
- for(unsigned j=0;j<b.colonnes;j++)
- int a = b.mat[i][j];
- //os << b.mat[i][j] << " \t";
- os << endl;
- }
- return os;
- }
- matrice operator*(int x, matrice&b) {
- return b*x;
- }
- matrice::matrice(unsigned l, unsigned c) {
- lignes=(l>=0)?l:1;
- colonnes=(c>=0)?c:1;
- mat = new int * [l];
- for(unsigned i=0;i<l;i++) {
- mat[i] = new int[c];
- for(unsigned j=0;j<c;j++)
- mat[i][j] = 0;
- }
- }
- matrice::matrice(int ** m, unsigned l, unsigned c) {
- lignes=(l>=0)?l:1;
- colonnes=(c>=0)?c:1;
- mat = new int * [l];
- for(unsigned i=0;i<l;i++) {
- mat[ i ] = new int [c];
- for(unsigned j=0;j<c;j++)
- mat[i][j] = m[i][j];
- }
- }
- matrice::matrice(const matrice & copy) {
- lignes=copy.lignes;
- colonnes=copy.colonnes;
- mat = new int * [lignes];
- for(unsigned i=0;i<lignes;i++) {
- mat[i] = new int[colonnes];
- for(unsigned j=0;j<colonnes;j++)
- mat[i][j] = copy.mat[i][j];
- }
- }
- matrice::~matrice(){
- for(unsigned i=0;i<lignes;i++) delete [] mat[i];
- delete [] mat;
- }
- matrice & matrice::operator+(matrice & b) {
- if(lignes == b.lignes && colonnes == b.colonnes) {
- matrice add(lignes, colonnes);
- add.lignes=lignes;
- add.colonnes=colonnes;
- for(unsigned i=0;i<lignes;i++)
- for(unsigned j=0;j<colonnes;j++)
- add.mat[i][j] = mat[i][j] + b.mat[i][j];
- return add;
- }
- }
- matrice & matrice::operator-() {
- return *this*(-1);
- }
- matrice & matrice::operator-(matrice&b) {
- if(lignes == b.lignes && colonnes == b.colonnes) {
- matrice sous2(lignes, colonnes);
- sous2.lignes=lignes;
- sous2.colonnes=colonnes;
- for(unsigned i=0;i<lignes;i++)
- for(unsigned j=0;j<colonnes;j++)
- sous2.mat[i][j] = mat[i][j] - b.mat[i][j];
- return sous2;
- }
- }
- matrice & matrice::operator*(int b) {
- matrice mult(lignes, colonnes);
- mult.lignes=lignes;
- mult.colonnes=colonnes;
- for(unsigned i=0;i<lignes;i++)
- for(unsigned j=0;j<colonnes;j++)
- mult.mat[i][j] = mat[i][j]*b;
- return mult;
- }
- matrice & matrice::operator*(matrice&b) {
- if(colonnes == b.lignes) {
- matrice mult2(lignes, colonnes);
- for(unsigned i=0;i<lignes;i++)
- for(unsigned j=0;j<colonnes;j++) //colonnes étant égal à b.lignes
- for(unsigned k=0;k<b.lignes;k++)
- mult2.mat[i][j]= mat[i][k]*b.mat[k][j];
- return mult2;
- }
- }
- matrice & matrice::revenus(matrice&n) {
- matrice newr(1, 3);
- for(int i=0; i<3; i++)
- for(int j=0; j<3; j++)
- newr.mat[1][j] += mat[i][j]*n.mat[i][j];
- return newr;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int tn[3][4] = { { 200, 300, 200, 250 },{ 40, 50, 45, 60 },{ 100, 100, 80, 80 }};
- int **tabn;
- tabn = new int * [3];
- for(int i=0; i<3; i++) { tabn[i] = new int [4]; for(int j=0; j<4; j++) tabn[i][j] = tn[i][j]; }
- matrice n(tabn, 3, 4);
- int tu[2][3] = {{3, 5, 8},{4, 0, 5}};
- int **tabu;
- tabu = new int * [2];
- for(int i=0; i<2; i++) { tabu[i] = new int [3]; for(int j=0; j<3; j++) tabu[i][j] = tu[i][j]; }
- matrice u(tabu, 2, 3);
- int tp[1][2] = { {5, 8} };
- int **tabp;
- tabp = new int * [1];
- tabp[0] = new int [2];
- for(int j=0; j<2; j++) tabp[0][j] = tp[0][j];
- matrice p(tabp, 1, 2);
- int tc[1][3] = { {10, 1, 7} };
- int **tabc;
- tabc = new int * [1];
- tabc[0] = new int [3];
- for(int j=0; j<3; j++) tabc[0][j] = tc[0][j];
- matrice c(tabc, 1, 3);
- int tv[3][4] = {{30, 31, 29, 30},{35, 36, 37, 36},{26, 22, 24, 25}};
- int **tabv;
- tabv = new int * [3];
- for(int i=0; i<3; i++) { tabv[i] = new int [4]; for(int j=0; j<4; j++) tabv[i][j] = tv[i][j]; }
- matrice v(tabv, 3, 4);
- int **tabb;
- tabb = new int * [2];
- for(int i=0; i<2; i++) tabb[i] = new int [4];
- matrice b(tabb, 2, 4);
- b=u;
- //b=u*n;
- cout << "Voici les besoins en matieres par rapport a chaque usines \n";
- //cout << b;
- int **tabk;
- tabk = new int * [1];
- tabk[0] = new int [4];
- matrice k(tabk, 1, 4);
- k=p*b;
- cout << "Voici les cout des matieres premieres a chaque usines \n";
- cout << k;
- int **tabw;
- tabw = new int * [1];
- for(int i=0; i<1; i++) tabw[i] = new int [4];
- matrice w(tabw, 1, 4);
- w=c*n;
- cout << "Voici les cout de production pour chaque usine \n";
- cout << w;
- int **tabt;
- tabt = new int * [1];
- for(int i=0; i<1; i++) tabt[i] = new int [4];
- matrice t(tabt, 1, 4);
- t=w+k;
- cout << "Voici les cout des matieres premieres a chaque usines \n";
- cout << t;
- matrice r = v.revenus(n);
- cout << "Voici les revenus total pour chaque usines \n";
- cout << r;
- int **taba;
- taba = new int * [1];
- for(int i=0; i<1; i++) taba[i] = new int [4];
- matrice a(taba, 1, 4);
- a=r-t;
- cout << "Voici les cout des matieres premieres a chaque usines \n" << a;
- system("pause");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement