Форум программистов, компьютерный форум, киберфорум
Наши страницы

Динамический массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определите структуру Complex для хранения комплексных чисел http://www.cyberforum.ru/cpp-beginners/thread1061789.html
Не могу осилить задание, помогите! Определите структуру Complex для хранения комплексных чисел: struct Complex { double re; //вещественная часть double im; //мнимая часть
C++ найти ошибку в коде Ошибка в 13 строке invalid conversion from 'int' to 'char*' #include <iostream> #include <stdio.h> using namespace std; char **s = new char* , *t; int i, j, n; int main() { for(i=0; i<10;... http://www.cyberforum.ru/cpp-beginners/thread1061780.html
C++ Инициализация переменной в классе
Пытаюсь инициализировать в классе переменную и дальше ее использовать class Lines { double PI = 3.141592653589793238462; void static Init(int argc, char** argv) { for(GLdouble i = 0; i <...
Реализация has_plus C++
Подкиньте идею как правильно реализовать аналог boost::has_plus.#include <iostream> #include <type_traits> #include <boost/type_traits/has_plus.hpp> struct A { }; struct B { void...
C++ Перегрузка операций http://www.cyberforum.ru/cpp-beginners/thread1061710.html
Нужно выполнить две перегрузки: 1) удаление элемента если он пустой; 2) сравнение по названию(равные). Подскажите как это реализовать. Читаю..вроде не сложно..но не пойму как правильно это...
C++ Строки Доброго времени суток, уважаемые. Сколько не парюсь над куском кода, так и не пойму, почему я не могу применить string в этом случае? А может я просто делаю это не правильно? struct students {... подробнее

Показать сообщение отдельно
Ev_Hyper
Заблокирован
02.01.2014, 19:24
Цитата Сообщение от Lotus34 Посмотреть сообщение
Имеется код, решающий транспортную задачу.
решение методом минимального элемента ? Он же не оптимальный.

Добавлено через 36 минут
А, ну по поводу проблемы, то вы запутались в индексациях.
C++
1
2
3
M++; 
 for( i=0;i<=N;i++)
 C[M][i]=0;//стоимость перевозки фиктивному потребителю равна нулю
откуда вы берете <=?
далее, M-столбцы, а вы меняете по строкам.
Дальше, вы изменили М++, а обращаетесь потом к M (а надо M-1)

C++
1
2
3
N++; 
for(int j=0;j<=M;j++)
 C[i][N]=0;
Тут у вас цикл по J, а меняете по I.
Остальные ошибки те же, что в том случае.
В итоге:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
if(Sa==Sb)cout<<"Транспортная задача - закрытая.";
     else
     {
       cout<<"Транспортная задача - открытая. \n";
 
        if(Sa>Sb)
         {
           cout<<"Преобразуем задачу в закрытую путём добавления фиктивного потребителя ";
 
             M++; 
             for( i=0;i<N;i++)
                C[i][M-1]=0;//стоимость перевозки фиктивному потребителю равна нулю
             b[M+1]=Sa-Sb;//спрос фиктивного потребителя
           }
        else
         {
           cout<<"Преобразуем задачу в закрытую путём добавления фиктивного поставщика ";
             N++; 
           
             for(int j=0;j<M;j++)
                   C[N-1][j]=0;//стоимость перевозки от фиктивного поставщика равна нулю
                   a[N+1]=Sb-Sa;//запас фиктивного поставщика
          }
       }
        cout<<endl;
         for(i=0;i<N;i++){
          for(j=0;j<M;j++)
          {
              cout<<C[i][j]<<" ";
          }
          cout<<endl;
         }
И от глобальных переменных в такой реализации лучше избавиться.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.