Форум программистов, компьютерный форум CyberForum.ru

Метод северо-западного угла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Скласты программу, которая строит на екране график функции двигающей стрелкой с рисунка. http://www.cyberforum.ru/cpp-beginners/thread273873.html
Кривая графика появляется с кончика стрелки; скорость движения 1...2,5 см/сек; стрелка - полупрозрачная; движение стрелки сопровождается звуком переменной тональности.
C++ Может ли виртуальное наследование быть одиночным? виртуальное наследование это множественное наследование, при котором нескольким классам, имеющим один базовый всегда сопоставляется один объект этого базового класса. Может ли виртуальное наследование быть одиночным? ответ на этот вопрос да. В чем смысл одиночного виртуального наследования ? http://www.cyberforum.ru/cpp-beginners/thread273865.html
Чтение стандартной матрицы C++
Люди, помогите пожалуйста реализовать....мой замысел состоит в том, что в начале программы выдается вопрос : желаете ли вы решить стандартную матрицу???? а сама матрица будет сохранена в text.txt и если при положительном ответе компилятор считывает матрицу из файла и выполняет над не опреции, а при отрицательном ответе матрица будет введена с клавиатуры)))
Ввод\вывод из файла (потоки) C++
нужна помощь. не могу понять в чем проблема. вводим данные.все данные сохраняем в файл. после этого планируется чтение из файла тоже всех данных. вот тут ошибка. прошу помочь найти ошибку. #include "stdafx.h" #include <iostream> #include <typeinfo> #include <fstream> using namespace std; enum employee_type {tmanager, tscientist, tlaborer};
C++ Построить на ерани кривую по заданому уравнеению http://www.cyberforum.ru/cpp-beginners/thread273860.html
Построить на ерани кривую по заданому параметрическому уравнеению. Режым дисплея графический (graphics_mode VGAHI 640-480). График кривои вывисти линиею, характеристики котороц (стиль, толщина, цвет) задать любые.
C++ Замена символов в строке Здраствуйте! У меня такая задачка: Дано натуральное число n и символы s1,s2..sn.заменить каждую точку многоточием. Заранее благодарен! Чуть не забыл вот мой неправильный код: #include<stdio.h> #include<string.h> #include<conio.h> int main() { char str; подробнее

Показать сообщение отдельно
Artishok
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767

Метод северо-западного угла - C++

10.04.2011, 20:35. Просмотров 4042. Ответов 8
Метки (Все метки)

надо реализовать данный метод.
http://www.reshmat.ru/example_transport_4.html
Вот ссылка на пример по которому делал код
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
 
bool check(int *ar)
{
    int sum=0;
    for(int i=0;i<4;i++)
     sum+=ar[i];
    if (sum==0)
       return true;
    return false;
}
 
int main()
{
    //запасы
    int a[]={70,80,110};
    //потребители
    int b[]={50,70,60,80};
    int m=3,n=4;
    //издержки
    int mat[4][5]={{14,16,13,7},
                     {15,11,9,8},
                     {12,17,18,16}};
    //матрица результата
    int matres[4][5]={{0,0,0,0},
                       {0,0,0,0},
                       {0,0,0,0}};
    
    int i=0,j=0;
    bool res;                  
    do
    {
        res=false;//проверка на нулевые элементы массива
        if (a[i]>b[j])//запасов больше чем надо
        {
            matres[i][j]=b[j];//потребность удовлетворена
            a[i]-=b[j];//осталось на складе
            if (i!=n-1)//оставшиеся элементы в столце обнулим
             for(int k=i+1;k<m;k++)
              matres[k][j]=0;
          j++;//следующий заказчик
        }
        else if (a[i]<b[j])//потребителю не хватит
        {
            matres[i][j]=a[j];//отдадим сколько сможем
            b[j]-=a[i];//сколько еще надо
            if (j!=n-1)//все элементы строки далее обнулим
             for(int k=j+1;k<n;k++)
               matres[i][k]=0;
           i++;//следующий поставщик
        }
        else goto l;//иначе отправим на проверку обнуления
         l:res=check(b);//проверка на обнуление
    }while(!res);
    cout<<"Полученный путь"<<endl;
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
         cout<<matres[i][j]<<" ";
         cout<<endl;
    }
    double sum=0;//цена пути
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        sum+=matres[i][j]*mat[i][j];
    }
    cout<<"REs---"<<sum;
}
программа зацикливается.вроде логически все верно.в чем дело?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru