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

программа по двойственному симплекс методу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ресурсы http://www.cyberforum.ru/cpp-beginners/thread19984.html
Подскажите каким образом можно открыть для чтения ресур? нужно открыть так чтобы можно было читать функцией ReadFile(); Смог сделать только зная оффсет этого ресурса в файле приложения. HANDLE file=OpenFile(__argv,...) SetFilePointer(file,offset,...) ReadFile(file,...)
C++ Сгенерировать N^2 случайных чисел... Помогиет, кто сможет!:help: Сгенерировать N^2 случайных чисел. Выделить в каждом из чисел дробну часть. Найти суммы из первых к цифр каждой дробной части чисел.Сформировать из их массив (таблицу) из N строк, в каждом из которых по N столбиков. Найти минимальное и максимальное числа в таблицы, а также сумму чисел n-го столбика. На экран вывести в виде строки случайные числа, полученный массив... http://www.cyberforum.ru/cpp-beginners/thread19980.html
C++ Задача на функции!!!!!
Объясните пожалуйста что такое функции!:sorry:Помогите применить их вот в этой проге....очень нужно!!) #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> #include <dos.h> int main(void) { int i,x,y,a,b,c,d,s,z,r; int gdriver=DETECT, gmode, errorcode;
Подредактировать прогу, считающую количество символов в % C++
#include <stdio.h> #include <string.h> #include <stdlib.h> int main() { freopen("c:/borlandc/in.txt", "r", stdin); char c; int a; int kol=0; int i;
C++ если в строке встречена одинаковая последовательность символов, заменить их кодом 255 http://www.cyberforum.ru/cpp-beginners/thread19972.html
Задача такова: обработать массив строк (длина каждой не более 100 символов). если в строке встречена одинаковая последовательность символов, заменить их кодом 255, за которым следует код этого символа и количесво одинаковых символов. Желательно без стандартых функций со строками. Может кто осилит.. Вопрос таков ...это код работает без привязок... в старом компиляторе к примеру Borland_C ...
C++ про раздельную компиляцию и заголовочные файлы Люди, кто-нибудь может просто и понятно объяснить мне про раздельную компиляцию и заголовочные файлы, плз!!!! подробнее

Показать сообщение отдельно
catinbox13
0 / 0 / 0
Регистрация: 22.12.2008
Сообщений: 4

программа по двойственному симплекс методу - C++

29.12.2008, 03:20. Просмотров 1199. Ответов 0
Метки (Все метки)

здравствуйте! очень нужна помощ! написала программу, но выдает неверный ответ, знаю в каком месте неправильно, но как должно быть никак не додумаюсь, помогите пожалуйста! вот код:
задача-найти оптимальную табдицу с помощью двойственного симплекс-метода, ошибка в функции min_J
Выбор включаемой переменной производится следующим образом. Вычисляются отношения коэффициентов z-строки к отрицательным коэффициентам исключаемой строки. В задаче min выбирается минимальное отношение. При наличии альтернатив выбор делается произвольно. Если в отношениях все знаменатели положительные или нулевые, задача не имеет допустимых решений.
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "stdafx.h"
#include <iostream>
#include <stdlib.h>
#include <windows.h> 
 
using namespace std;
 
const int str=3;
const int stb=5;
float mas[str][stb];
float R_mas[str][stb];
bool flag=false;
int minI, minJ=1;
 
//Функции
int min_J(float temp[str][stb], int minI)
{
int num;
    if  ((temp[str-1][minJ]/temp[str-1][1]) <= (temp[str][minJ]/temp[str][1]) )
        num=1;
    else
        num=0;
    return num;
}//??
 
int min_I(float temp[str][stb])
{
    int min[2]={};
    for(int i=0; i<str; i++)
    if (temp[i][stb-1]<min[0])
    {
        min[0]=int(temp[0][i]);
        min[1]=i;
    }
    return min[1];
}
 
 
void main()
{
//Чтение из файла
    FILE *myFile;
    myFile=fopen("3.txt", "rt"); 
    char temp[4];
    for (int i=0; i<str; i++)
        for (int j=0; j<stb; j++)
        {
            fgets(temp, 4, myFile);
            mas[i][j]=float(atoi(temp));
        }
 
//отрицательные 1,2 и 5 столбцы
for (int i=0; i<str; i++)
    for (int j=0; j<stb; j++)
        if ((j != 2) && (j != 3) )
            mas[i][j]*=-1;
 
//Вывод 
    for (int i=0; i<str; i++)
    {
        cout<<endl;
        for (int j=0; j<stb; j++)
            cout<<mas[i][j]<<"\t";
    }
 
    cout<<endl<<endl;
    int min[2]={};
    for (int j=1; j<stb; j++)
        
        
 
    while(!flag)
            
//Поиск отрицательных чисел
        for (int j=1; j<stb; j++)
            for(int i=0; i<stb-1;i++)
        {           
            if(mas[i][j]<0)
            {
                flag=true; //флаг
                
//Поиск минимальной строки              
                minI=min_I(mas);
 
//Поиск минимального столбца
                minJ=min_J(mas, minI);
 
//Основные вычисления
                for(int i=0; i<stb;i++)
                    R_mas[minI][i]=mas[minI][i]/mas[minI][minJ];        
                for (int i=0; i<str;i++)
                    for(int j=0; j<stb;j++)
                        if (i != minI)
                            R_mas[i][j]=mas[i][j]-(R_mas[minI][j] * mas[i][minJ]);
            }
        }
       
            
 
//Вывод массива
        for (int i=0; i<str; i++)
        {
            for (int j=0; j<stb; j++)
        cout<<R_mas[i][j]<<"\t";
        cout<<endl;
            
        }
 
    }
помогите пожалуйста срочно! очень надо!

Добавлено через 2 часа 19 минут 23 секунды
а! уже не надо, уже сама все сделала)))
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru