Ir ao conteúdo
  • Cadastre-se

Evelyne Amorim

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

Reputação

0
  1. Gente, essa programa resolve sistema linear só que eu queria que ele devolvesse a solução se tiver, senão, devolver "o sistema não tem solução" o problema é que ele ta devolvendo "o sistema nao tem solucao" parra cada sequencia. Ajudeeem porr favoorr!!! #include <stdio.h> #include <stdlib.h> #define NUSP 8940702 /* substitua aqui pelo seu NUSP */ #define MAXCOL 21 #define MAXLIN 21 /* Gera matriz A[1..N x 1..M] e vetor C[1..N] */ void GeraMatVet(int A[][MAXCOL],int C[],int N,int M) { static int vez = 1; int i, j, k1, k2, aux[MAXCOL]; if(N >= M) { printf("* * * N deve ser menor que M"); return; } srand(vez*NUSP); for (j = 1; j <= M; j++) aux[j] = rand() % 3 - 1; for(i = 1; i <= N; i++) { C = 0; for(j = 1; j <= M; j++) { k1 = (rand() % 3 - 1); k2 = k1 * (rand() % 17); A[j] = k2; } if(vez % 2 == 0) for (j = 1; j <= M; j++) C += aux[j] * A[j]; else C = rand() % 47; } vez++; } void ImprimeMatVet(int aa[][MAXCOL], int cc[], int nn, int mm) { int i, j; printf("\nMatriz:"); for(i = 1; i <= nn; i++) { printf("\n"); for(j = 1; j <= mm; j++) printf("%10d", aa[j]); } printf("\nVetor:\n"); for(i = 1; i <= nn; i++) printf("%10d", cc); } /*verifica se o vetor b é a solução*/ int verificasistema (int a[][MAXCOL], int b[], int n, int m, int c[]) { int d[MAXLIN], i, j, l; for (i=0; i<n; i++) d=0; for (i=0; i<n; i++) { for (l=0; l<m; l++) { d=d+(a[l]*b[l]); } } for (i=0; i<n; i++) if (d!=c) return -1; return 0; } /*gera o vetor B*/ int proxima(int a[], int N, int M) { int t = N-1; /* soma 1 ao vetor */ while (t >= 0) { a[t] = (a[t] +1) % M; if (a[t] == 0) t--; else return 0; } return -1; } int main() { int n, m, k = 1, i, j, l, a[MAXLIN][MAXCOL], c[MAXCOL], b[MAXCOL],seq[MAXCOL]; while (1) { printf("\n\nEntre com n e m:"); scanf("%d%d", &n, &m); /* consistência de n e m */ if(!(n >= 1 && n <= 20 && m >= 1 && m <= 20 && n < m)) { printf("\n\nn e m devem ser ambos entre 1 e 20 - n deve ser menor que m\n\n"); break; } printf("\nGera Matriz e Vetor - teste numero %d", k++); GeraMatVet(a, c, n, m); ImprimeMatVet(a, c, n, m); /*programa*/ for (i = 0; i < m; i++) b = 0; do { /* imprime sequência atual */ for (i = 0; i < m; i++) { seq=b-1; } printf ("\n"); if (verificasistema(a,seq,n,m,c)==0) { printf ("\nA sequencia"); printf ("%2d", seq); printf (" é solucao para o sistema\n"); } else printf("O sistema nao tem solucao"); /* gera a próxima */ } while (proxima(b, m, 3) == 0); } system("PAUSE"); return 0; }

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...