RSS    

   Ðåôåðàò: Òðàíñïîðòíàÿ çàäà÷à

 

         void     data(void)

              {

            int i,j,t;

              printf("Ââåäèòå êîëè÷åñòâî ñêëàäîâ: ");

              scanf("%d",&m);

              printf("Kolichestvo skladov-----> %d",m);

              printf("\n Ââåäèòå êîëè÷åñòâî ìàãàçèíîâ:\n");

              scanf("%d",&n);

              printf("\n Kolichestvo magazinov --->%d",n);

              //*********** Âûäåëåíèå ïàìÿòè ******************

              if((po=(int*)calloc(m,sizeof(int)))==NULL)  abort();

              if((pn=(int*)calloc(n,sizeof(int)))==NULL)  abort();

              if((st=(int*)calloc(n*m,sizeof(int)))==NULL) abort();

              printf("Ââåäèòå ýëåìåíòû ìàòðèöû ñòîèìîñòåé: \n");

              for(i=0;i<m;i++)

                  {

                  for(j=0;j<n;j++)

                     {

                     printf("Ââåäèòå [%d][%d]\n ",i,j);

                     scanf("%d",&t);

                        *(st+i*n+j)=t;

                     }

                  }

                  printf("\n");

                  fprintf(fil,"\n");

                  for(i=0;i<m;i++)

                     {

                     for(j=0;j<n;j++)

                        {

                        printf("%5d",*(st+i*n+j));

                        fprintf(fil,"%5d",*(st+i*n+j));

                        }

                     printf("\n");

                     fprintf(fil,"\n");

                     }

                     printf("Ââåäèòå êîëè÷åñòâî çàïàñîâ íà êàæäîì ñêëàäå:\n");

                     for(i=0;i<m;i++)

                          {

                           printf("\n");

                          scanf("%d",po+i);

                          printf("%5d",*(po+i));

                          }

                     printf("\n");

                     printf("Ââåäèòå ïîòðåáíîñòè:\n");

                         for(j=0;j<n;j++)

                               {

                                printf("\n");

                               scanf("%d",pn+j);

                               printf("%5d",*(pn+j));

                               }

                               return;

                               }//**** data

      //************* SOZDANIE OPORNOGO PLANA ********************

         //************* METHOD NORD-WEST YGLA **********************

        void opplan(void)

            {

            int i,j,ch1 = 0;

            //*************** ÂÛÄÅËÅÍÈÅ ÏÀÌßÒÈ *************************

            if((matr=(int*)calloc(m*n,sizeof(int))) == NULL)    abort();

   // ÖÈÊË ÏÐÎÑÒÎÃÎ ÐÀÑÏÐÅÄÅËÅÍÈß ÏÎÒÐÅÁÍÎÑÒÅÉ ïî ÿ÷åéêàì ðàáî÷åé ìàòðèöû

            for(i=0;i<m;i++)

               {

               for(j=ch1;j<n;j++)

                    {

                    if(*(po+i)<*(pn+j))

                         {

                         *(matr+i*n+j)=*(po+i);

                         *(pn+j)-=*(po+i);

                         *(po+i)=0;

                         break;

                         }

                         *(matr+i*n+j)=*(pn+j);

                         *(po+i) -= *(pn+j);

                         *(pn+j)=0;

                         ch1++;

                         }

                   }

//********* ÏÐÎÂÅÐÊÀ È ÂÛâîä ïîëó÷èâøåéñÿ ìàòðèöû ***********************

             printf("PROVERKA\n");

             fprintf(fil,"PROVERKA MATRIX - Ñåâåðî çàïîäíûé ÓÃÎË,\n ïðîñìîòð ïîëó÷èâøåãîñÿ ðàñïðåäåëåíèÿ â ìàòðèöå \n");

             for(i=0;i<m;i++)

               {

               for(j=0;j<n;j++)

                    {

                    printf("%5d",*(matr+i*n+j));

                    fprintf(fil,"%d",*(matr+i*n+j));

                    }

                    printf("\n");

                    fprintf(fil,"\n");

                    }

                              fprintf(fil,"********************\n");

                              return;

                              }  // opplan

              void kost(void)

                        {

                        int i,j, *matr1,rez=0;

                        //âûäåëåíèå ïàìÿòè

                        if((matr1=(int*)calloc(n*m,sizeof(int))) == NULL)  abort();

                  //ïðèñâîåíèå íîâîé ìàòðèöå çíà÷åíèÿ áàçèñíîé(ñòàðîé) ìàòðèöû

                        for(i=0;i<m;i++)

                           {

                           for(j=0;j<n;j++)

                                {

                                *(matr1+i*n+j) = *(matr+i*n+j);

                                }

                           }

                   // Ïîäñ÷åò ñòîèìîñòè áàçèñíîé ìàòðèöû (ñîçäàííîãî ìàññèâà)

                           for(i=0;i<m;i++)

                                {

                                for(j=0;j<n;j++)

                                     {

                                     if(*(matr1+i*n+j)>0)

                                          rez += (*(matr1+i*n+j)) *(*(st+i*n+j));

                                     }

                                }

                          printf("\n Rezultat :  %d",rez);

                          printf("\n");

                          fprintf(fil,"%s %5d"," Rezultat : ",rez);

                          fprintf(fil,"\n");

                          getch();

                          free(matr1);

                          if(zen == rez)

                          {

                           z=0;

                          }

                           zen = rez;

                           return;

                         }

            //************* KOST()

            //************* PODSCHET POTENCIALOV  ********************

            void potenzial(void)

              {

              struct poten

                  {

                  int v;

                  int u;

                  int zn;

                  struct poten *next;

                  int b;

                  } *topnast = NULL,

                    *top = NULL,

                    *top1 = NULL;

                  int i,j;

                  int fl;

        //********** ÂÛÄÅËÅÍÈÅ ÏÀÌßÒÈ *******************8

        if((pu=(int*)calloc(m,sizeof(int)))==NULL)   abort();

        if((pv=(int*)calloc(n,sizeof(int)))==NULL)   abort();

      // ÏÐÈÑÂÎÅÍÈÅ ÂÑÅÌ ÏÎÒÅÍÖÈÀËÀÌ ÇÍÀ×ÅÍÈß MIN

        for(i=0;i<m;i++)

             *(pu+i) = MIN;

        for(j=0;j<n;j++)

             *(pv+j) = MIN;

       // Âûäåëåíèå ïàìÿòè ïîä ñòðóêòóðó è çàïîëíåíèå å¸ çíà÷åíèÿìè

        for(i=0;i<m;i++)

             {

             for(j=0;j<n;j++)

                  {

                  if((*(matr+i*n+j) > 0) || (*(matr+i*n+j)==-2))

                        {

                        if((top=(struct poten*)malloc(sizeof(struct poten)))==NULL)

                           abort();

                        fprintf(fil,"top = %d",top);

                        if(!topnast){

                           topnast = top;

                           fprintf(fil,"topnast = top = %d",top);

                   }

                           else top1 -> next=top;

                               top1=top;

                               top -> next=NULL;

                               top -> b = *(st+i*n+j);  //Ñòîèìîñòè

                               top -> v = j;

                               top -> u = i;

                               top -> zn = -1;

                               }

                        }

                   }

               *pu = 0;

               i=0; j = -1;

               for(top = topnast;top!=NULL;top = top -> next)

                    {

                        if((top -> u) == i && (top -> v)!=j)

                           {

                               *(pv+(top -> v)) = (top -> b) - *(pu+i);

                               j = (top->v);

                               top -> zn = 0;

                           }

                           else{

                           for(top1 = topnast;top1 != NULL;top1 = top1->next)

                               {

                                if((top1->v) == j && (top1->u)!=i)

                                    {

                                     *(pu+(top1->u))=(top1->b) - *(pv+j);

                                     i = (top1->u);

                                     top1 ->zn = 0;

Ñòðàíèöû: 1, 2, 3, 4, 5


Íîâîñòè


Áûñòðûé ïîèñê

Ãðóïïà âÊîíòàêòå: íîâîñòè

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

                   

Íîâîñòè

© 2010.