Ir ao conteúdo
  • Cadastre-se

matheusvitor

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

Tudo que matheusvitor postou

  1. Estou com um problema em um programa que calcula a área de uma figura que está no primeiro quadrante do sistema bidimensional. Percebi que a matriz que eu coloquei para armazenar as coordenadas vértices da figura está alterando o valor toda vez que é realizada uma operação. Tem casos que calcula certinho, mas a maioria não. #include <iostream> using namespace std; int main() { int nvert, i, j; string fig; double a, bmenor, bmaior, h, area=0; cout << "Digite a quantidade de vertices: "; cin >> nvert; cout << "Do ponto 1 para o 2 a figura esta na (direita/esquerda): "; cin >> fig; double pto[nvert][2]; for (i=0; i<nvert; i++){ cout << "Insira as coordenadas do vertice " << i+1 <<" (x,y): "; cin >> pto[i][0] >> pto[i][1]; } for (i=0; i<nvert; i++){ for (j=0; j<2; j++){ cout << pto[i][j] << " "; } cout << "\n"; } i=0; double integral[i]; while (i < nvert){ if (i != nvert-1){ a = (pto[i][1] - pto[i+1][1])/(pto[i][0] - pto[i+1][0]); bmaior = pto[i+1][1]; h = pto[i+1][0] - pto[i][0]; } else { a = (pto[i][1] - pto[0][1])/(pto[i][0] - pto[0][0]); bmaior = pto[0][1]; h = pto[0][0] - pto[i][0]; } if (fig == "esquerda"){ h = -h; } cout << i << "\n" << "Coeficiente angular: " << a << "\n"; bmenor = pto[i][1]; integral[i] = (bmenor + bmaior) * h / 2; cout << "Altura: " << h << "\nIntegral: " << integral[i] << "\n\n"; area+=integral[i]; i+=1; } for (i=0; i<nvert; i++){ for (j=0; j<2; j++){ cout << pto[i][j] << " "; } cout << "\n"; } cout << "Area: " << area << "\n"; return 0; } Alguém sabe o que eu faço para manter os valores da matriz intactos? Um exemplo de entrada com nvert = 8 e fig = esquerda e as coordenadas abaixo: Aqui a área tem que dar 7, mas não acontece isso.

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...