All pastes #897817 Raw Edit

takie

public cpp v1 · immutable
·published 2008-02-09 21:27 UTC
rendered paste body
#include <cstdlib>#include <iostream>#include <stdio.h>#include <string.h>#include <stdlib.h>using namespace std;int main(int argc, char *argv[]){   int xsize;    int ysize;   char filename[20]="./macierz.txt";   FILE*plik=fopen(filename,"r");   fscanf(plik,"%d %d\n",&xsize,&ysize);   xsize++;   ysize++;   int macierz[xsize][ysize];   char wiersz[100],*pch,*p=new char[2];     int x ,y=0, val, zmiana = 1, k, min_k, nr=1;     printf("Rozmiar tablicy: %d x %d \n", xsize-1, ysize-1);   // Czytamy z pliku i uzupelniamy macierz       while(fgets(wiersz, 100, plik)!=NULL){      x=0;      pch = strtok (wiersz," ");        while (pch != NULL){              p=strncpy(p,pch,1);              p[1]='\0';              val = atoi(pch);                             macierz[x][y]=val;              pch = strtok (NULL, " ");              x++;        }      y++;   }       fclose(plik);    printf("\nmacierz poczatkowa\n");          for(int y_=0; y_<ysize;y_++){               for(int x_=0; x_<xsize; x_++ ){                     if (x_ == xsize-1) printf ("|");                     printf("%5d ",macierz[x_][y_]);               }          printf("\n");          }   for (y=0; y<ysize-1; y++){// Szukamy minimum w  rzedzie      int min_x=0;      int min_val=macierz[0][y];      for (x=0; x< xsize-1 ; x++)       if ( macierz[x][y] < min_val  )       {          min_val = macierz[x][y];          min_x = x;       }      for (x=0; x< xsize-1 ; x++)        macierz[x][y] =  macierz[x][y] - min_val;   }   for (x=0; x<xsize-1; x++){// Szukamy minimum w  kolumnie      int min_y=0;      int min_val=macierz[x][0];      for (y=0; y< ysize-1 ; y++)       if ( macierz[x][y] < min_val  )       {          min_val = macierz[x][y];          min_y = y;       }      for (y=0; y< ysize-1 ; y++)        macierz[x][y] =  macierz[x][y] - min_val;   }           printf("\nmacierz po normalizacji \n");          for(int y_=0; y_<ysize;y_++){               for(int x_=0; x_<xsize; x_++ ){                     if (x_ == xsize-1) printf ("|");                     printf("%5d ",macierz[x_][y_]);               }          printf("\n");          }// Proces rozkładu zapotrzebowania transportowego    for (y=0; y<ysize-1; y++){       int jest, ile;   do{        for (x=0; x<xsize-1; x++){            if (macierz[x][y]==0){           jest=x;                  for (y=0; y<ysize-1; y++){                  if (macierz[x][y]==0){                  jest=x;                  cout<<x;       }        }                  }       if (macierz[x][y]==0){         int Ai = macierz[xsize-1][y];         int Bi = macierz[x][ysize-1];         int Mini=Ai;         if (Bi<Ai)           Mini=Bi;         macierz[x][y] = Mini;         macierz[xsize-1][y] -= Mini;         macierz[x][ysize-1] -= Mini;       }       else          macierz[x][y] = -200;        }  }  while(jest=0);  }  macierz[3][3] = 0;    printf("\nmacierz po optymallizacji \n");          for(int y_=0; y_<ysize;y_++){               for(int x_=0; x_<xsize; x_++ ){                     if (x_ == xsize-1) printf ("|");                     printf("%5d ",macierz[x_][y_]);               }          printf("\n");          }               system("PAUSE");   return EXIT_SUCCESS;}