Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

girlpower2006aqui

compila mas não executa

Recommended Posts

Olá, alguém pode me dizer o que há de errado com esse programa?

 

 

//--------------------Metodo SIMPLEX

 

#define H0 3

#define V0 2

#define VMAX 24

#define HMAX 78

#define H1 50

#define V 4

#define H 6

#include<stdio.h>

#include<conio.c>

 

int MALHA2(int I,int J){

clrscr();

//=========================================================

for(I=H0;I<HMAX;I++){

gotoxy(I,V0);printf("\xc4");

gotoxy(I,VMAX);printf("\xc4");

}

for(I=V0+1;I<VMAX;I++){

gotoxy(H0,I);printf("\xb3");

gotoxy(HMAX,I);printf("\xb3");

}

gotoxy(H0,V0);printf("\xc9");

gotoxy(H0,VMAX);printf("\xc8");

gotoxy(HMAX,V0);printf("\xbb");

gotoxy(HMAX,VMAX);printf("\xbc");

//======================================================

 

for(I=H0+1;I<H1;I++){

gotoxy(I,11);printf("\xdc");

}

for(I=V0+1;I<12;I++){

gotoxy(50,I);printf("\xb3");

}

for(I=4;I<78;I++){

gotoxy(I,13);printf("\xc4");

gotoxy(I,15);printf("\xc4");

gotoxy(I,17);printf("\xc4");

gotoxy(I,19);printf("\xc4");

gotoxy(I,21);printf("\xc4");

}

for(I=14;I<24;I++){

gotoxy(18,I);printf("\xb3");

gotoxy(27,I);printf("\xb3");

gotoxy(37,I);printf("\xb3");

gotoxy(57,I);printf("\xb3");

gotoxy(67,I);printf("\xb3");

gotoxy(47,I);printf("\xb3");

}

gotoxy(55,3);printf("METODO SIMPLEX");

//==================================================================

}

 

 

int MALHA1(int I,int J){

clrscr();

 

//===============================================================

for(I=H0;I<HMAX;I++){

gotoxy(I,V0);printf("\xc4");

gotoxy(I,VMAX);printf("\xc4");

}

for(I=V0+1;I<VMAX;I++){

gotoxy(H0,I);printf("\xb3");

gotoxy(HMAX,I);printf("\xb3");

}

gotoxy(H0,V0);printf("\xc9");

gotoxy(H0,VMAX);printf("\xc8");

gotoxy(HMAX,V0);printf("\xbb");

gotoxy(HMAX,VMAX);printf("\xbc");

 

for(I=4;I<78;I++){

gotoxy(I,5);printf("\xc4");

gotoxy(I,7);printf("\xc4");

gotoxy(I,9);printf("\xc4");

gotoxy(I,11);printf("\xc4");

gotoxy(I,13);printf("\xc4");

gotoxy(I,15);printf("\xc4");

gotoxy(I,17);printf("\xc4");

gotoxy(I,19);printf("\xc4");

gotoxy(I,21);printf("\xc4");

}

for(I=6;I<24;I++){

gotoxy(18,I);printf("\xb3");

gotoxy(27,I);printf("\xb3");

gotoxy(37,I);printf("\xb3");

gotoxy(57,I);printf("\xb3");

gotoxy(67,I);printf("\xb3");

gotoxy(47,I);printf("\xb3");

}

 

//=========================================================

gotoxy(60,3);printf("METODO SIMPLEX");

//===========================================================

}

 

int MALHAF(int I,int J){

clrscr();

//========================================================

for(I=H0;I<HMAX;I++){

gotoxy(I,V0);printf("\xc4");

gotoxy(I,VMAX);printf("\xc4");

}

for(I=V0+1;I<VMAX;I++){

gotoxy(H0,I);printf("\xb3");

gotoxy(HMAX,I);printf("\xb3");

}

gotoxy(H0,V0);printf("\xc9");

gotoxy(H0,VMAX);printf("\xc8");

gotoxy(HMAX,V0);printf("\xbb");

gotoxy(HMAX,VMAX);printf("\xbc");

}

 

void main(void){

//===============================================================

float M[V][H];

float CPIVO[V],LPIVO[H],LINHAZERO[H],M2[V][H];

float NOVALINHA2[H],NOVALINHA3[H];

float AUX,MAIOR=0,NPIVO=9999999,NUM,N,N1=999999;

int X1,X2,I=0,J,L=2,COLUNA,LINHA,VEZES=0,TESTE=0;

int MAXITERADA;

char t;

clrscr();

//===================================================

MALHA1(I,J);

gotoxy(20,3);printf("Leitura do Quadro Simplex");

for(I=0;I<H-1;I++){

gotoxy(10*I+10,6);printf(" X%d",I+1);

}

 

for(I=0;I<V;I++){

for(J=0;J<H;J++){

gotoxy(10*J+10,2*I+8);scanf("%f",&M[J]);

}

}

gotoxy(20,25);printf("Digite o n\xa7 Maximo de Iteradas :");scanf("%d",&MAXITERADA);

//=====================================================

while(VEZES<MAXITERADA){

gotoxy(60,22);printf("Iterada = %d",VEZES+1);

//=======================================================

MALHA1(I,J);

gotoxy(6,3);printf("Iterada n\xa7: %d",VEZES+1);

gotoxy(30,3);printf("Quadro Simplex");

for(I=0;I<H-1;I++){

gotoxy(10*I+10,6);printf(" X%d",I+1);

}

for(I=0;I<V;I++){

for(J=0;J<H;J++){

gotoxy(10*J+10,2*I+8);printf(" %3.3f",M[J]);

}

}

t=getch();

//=========================================================

for(I=0;I<H;I++){

if(M[0]<0){

AUX=-M[0];

if(AUX>MAIOR){

MAIOR=AUX;

COLUNA=I;

}

}

}

clrscr();

MALHA2(I,J);

MAIOR=-MAIOR;

 

//==============================================

gotoxy(53,5);printf("-> Coluna Pivo:");

for(I=0;I<V;I++){

CPIVO=M[COLUNA];

gotoxy(60,7+I);printf("%3.3f",CPIVO);

}

 

//============================================

for(I=0;I<V;I++){

if(CPIVO!=0 && CPIVO!=MAIOR){

N=M[V+1];

NUM=N/CPIVO;

if(NUM<N1){

N1=NUM;

NPIVO=CPIVO;

LINHA=I;

}

}

}

 

//==============================

gotoxy(5,3);printf("-> Outros Resultados :");

gotoxy(5,5);printf("Maior Coeficiente = %3.3f",MAIOR);

gotoxy(5,6);printf("Numero Pivo = %3.3f",NPIVO);

gotoxy(5,7);printf("Indice da coluna Pivo = %d",COLUNA);

gotoxy(5,8);printf("Indice da linha Pivo = %d",LINHA);

gotoxy(64,12);printf("Iterada n\xa7: %d",VEZES+1);

//====================================

for(I=0;I<H;I++){

LPIVO=M[LINHA];

}

//=========================================

for(I=0;I<H;I++){

LPIVO=LPIVO/NPIVO;

}

//==========================

gotoxy(5,12);printf("-> Resultados dos Calculos das Novas Linhas:");

gotoxy(6,14);printf("Linha Zero");

gotoxy(6,16);printf("Linha Pivo");

gotoxy(6,18);printf("Linha I");

gotoxy(6,20);printf("Linha II");

 

///***************Testa quais Linhas estao Livres************

//Para este Caso: 2 linhas Livres -> Tirando L0 E LPIVO

for(J=0;J<V;J++){

if(LINHA!=J && J!=0){

X1=J;

break;

}

}

for(J=0;J<V;J++){

if(LINHA!=J && J!=0 && J!=X1){

X2=J;

break;

}

}

//-------Calculo das Linhas---------

for(I=0;I<H;I++){

//-------Linha ZERO Fixa

LINHAZERO=M[0]-CPIVO[0]*LPIVO;

gotoxy(10*I+20,14);printf("%3.3f",LINHAZERO);

//------Mostra nova lINHA PIVO

gotoxy(10*I+20,16);printf("%3.3f",LPIVO);

 

//------linha I - VARIAVEL

NOVALINHA2=M[X1]-CPIVO[X1]*LPIVO;

gotoxy(10*I+20,18);printf("%3.3f",NOVALINHA2);

//------linha II - VARIAVEL

NOVALINHA3=M[X2]-CPIVO[X2]*LPIVO;

gotoxy(10*I+20,20);printf("%3.3f",NOVALINHA3);

}

//---------------------------------------------------------------

 

t=getch();

clrscr();

//----------MATRIZ 2

//---------Zera a Matriz M2

for(I=0;I<V;I++){

for(J=0;J<H;J++){

M2[J]=NULL;

}

}

//-------Atribui a M2 os Dados obtidos

for(I=0;I<V;I++){

for(J=0;J<H;J++){

M2[0][J]=LINHAZERO[J];

M2[1][J]=LPIVO[J];

M2[2][J]=NOVALINHA2[J];

M2[3][J]=NOVALINHA3[J];

}

}

//-------------------------

MALHA1(I,J);

gotoxy(4,4);printf("Fim da Iterada n\xa7: %d",VEZES+1);

//------MOSTRA A NOVA TABELA DE VARIAVEIS

gotoxy(25,3);printf("Novo Quadro Simplex");

for(I=0;I<H-1;I++){

gotoxy(10*I+10,6);printf(" X%d",I+1);

}

for(I=0;I<V;I++){

for(J=0;J<H;J++){

//---------Atribui Matriz 2 a Matriz Original

M[J]=M2[J];

gotoxy(10*J+10,2*I+8);printf(" %3.3f",M2[J]);

}

}

//----------------TESTA REGRA DE PARADA

t=getch();

clrscr();

 

for(I=0;I<H;I++){

if(M[0]>=0){

TESTE++;

}

}

if(TESTE==H){

break;

}

//======================================

VEZES++;

TESTE=0;

MAIOR=0;

NPIVO=9999999;

 

//***********Mostra Solucao Otima ( FINAL )*****************

MALHAF(I,J);

gotoxy(5,3);printf("=> SOLUCAO FINAL");

gotoxy(14,6);printf("-> Solucao Otima:");

for(I=0;I<V;I++){

gotoxy(16,8+I);printf("[ %3.3f ]",M[H-1]);

}

gotoxy(20,15);printf("Solucao Otima, conseguida na Iterada n\xa7: %d",VEZES+1);

t=getch();

//==========================================

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.