Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #define N 2
- void recebePontos(float matriz[][N], int quantidade);
- float retornaA(float matriz[][N], int quantidade);
- float retornaB(float matriz[][N], int quantidade);
- float mediax(float matriz[][N], int quantidade);
- float mediay(float matriz[][N], int quantidade);
- void exibe(float matriz[][N], int quantidade);
- void exibeReta(float matriz[][N], int quantidade);
- void main(){
- int numeroPontos;
- float valores[10][N];
- printf("Quantos pontos serao utilizados? ");
- scanf("%i", &numeroPontos);
- recebePontos(valores,numeroPontos);
- exibe(valores, numeroPontos);
- exibeReta(valores,numeroPontos);
- system("pause");
- }
- float mediax(float matriz[][N], int quantidade){
- float acumulador=0, media;
- for(int i = 0; i < quantidade; i++){
- acumulador += matriz[i][0];
- }
- media = acumulador/quantidade;
- return media;
- }
- float mediay(float matriz[][N], int quantidade){
- float acumulador=0, media;
- for(int i = 0; i < quantidade; i++){
- acumulador += matriz[i][1];
- }
- media = acumulador/quantidade;
- return media;
- }
- void exibe(float matriz[][N], int quantidade){
- printf("\nPontos:\n");
- for(int j = 0; j < quantidade; j++){
- printf("P%i: [%.3f, %.3f]\n", j, matriz[j][0], matriz[j][1]);
- }
- printf("\n");
- }
- float retornaA(float matriz[][N], int quantidade){
- float dividendo=0, divisor=0, media;
- media = mediax(matriz,quantidade);
- for(int i = 0; i < quantidade; i++){
- dividendo = dividendo + (matriz[i][0]-media)*matriz[i][1];
- }
- for(int i = 0; i < quantidade; i++){
- divisor = divisor + pow(matriz[i][0]-media,2);
- }
- return dividendo/divisor;
- }
- float retornaB(float matriz[][N], int quantidade){
- float y = mediay(matriz,quantidade);
- float x = mediax(matriz,quantidade);
- float a = retornaA(matriz,quantidade);
- return y-(a*x);
- }
- void recebePontos(float matriz[][N], int quantidade){
- printf(" X Y\n");
- for(int i = 0; i < quantidade; i++){//Recebe os pontos
- printf("P%i: ", i+1);
- scanf("%f %f", &matriz[i][0], &matriz[i][1]);
- }
- }
- void exibeReta(float matriz[][N], int quantidade){
- printf("RETA TEORICA: Y = %.3fX + %.3f\n\n", retornaA(matriz, quantidade), retornaB(matriz, quantidade));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement