Guest João Antunes Posted December 15, 2019 at 07:30 PM Report Share #616859 Posted December 15, 2019 at 07:30 PM Boa tarde, Estou a tentar desenvolver um programa para calcular a media de cada coluna de uma matriz tenho o seguinte codigo abaixo e já tentei varias maneiras de calcular e não consigo, agradeço desde ja a ajuda. #include <stdio.h> #include <stdlib.h> #include <math.h> int main() { float TabelaT [3][5]; int J,T; printf(" Introduza Os Tempos Dos Atletas 1,2 e 3 %dx%d: \n", 5,3); for(J=0; J<2; J++) { for(T=0; T<4; T++) { scanf("%d", &TabelaT[3][5]); } } return 0; Link to comment Share on other sites More sharing options...
Zamalor Posted December 16, 2019 at 12:23 PM Report Share #616866 Posted December 16, 2019 at 12:23 PM #include <stdio.h> #define MAX_ATLETAS 3 #define MAX_REGISTOS_TEMPO 5 void inserirTempos(float tabelaTempos[][MAX_REGISTOS_TEMPO]){ for (int atletaAtual = 0; atletaAtual < MAX_ATLETAS; atletaAtual++){ for (int registoAtual = 0; registoAtual < MAX_REGISTOS_TEMPO; registoAtual++){ printf("Insira o tempo %d do atleta %d:", registoAtual + 1, atletaAtual + 1); scanf("%f", &(tabelaTempos[atletaAtual])[registoAtual]); } } } float calcMedia(float tabelaTempos[][MAX_REGISTOS_TEMPO], float media[]){ for (int atletaAtual = 0; atletaAtual < MAX_ATLETAS; atletaAtual++){ for (int registoAtual = 0; registoAtual < MAX_REGISTOS_TEMPO; registoAtual++){ media[atletaAtual] += tabelaTempos[atletaAtual][registoAtual]; } media[atletaAtual] /= (float)MAX_REGISTOS_TEMPO; } return 0; } void printarMedia(float media[]){ for (int mediaAtual = 0; mediaAtual < MAX_ATLETAS; mediaAtual++){ printf("A média de tempo do atleta %d é:%.2f.\n", mediaAtual + 1, media[mediaAtual]); } } int main(){ float tabelaTempos[MAX_ATLETAS][MAX_REGISTOS_TEMPO]; float media[3]; inserirTempos(tabelaTempos); calcMedia(tabelaTempos, media); printarMedia(media); return 0; } seria isto que estavas a querer fazer? Insira o tempo 1 do atleta 1:1.0 Insira o tempo 2 do atleta 1:1.5 Insira o tempo 3 do atleta 1:2.0 Insira o tempo 4 do atleta 1:2.5 Insira o tempo 5 do atleta 1:3.0 Insira o tempo 1 do atleta 2:1.0 Insira o tempo 2 do atleta 2:1.5 Insira o tempo 3 do atleta 2:2.0 Insira o tempo 4 do atleta 2:2.5 Insira o tempo 3 do atleta 2:2.0 Insira o tempo 4 do atleta 2:2.5 Insira o tempo 5 do atleta 2:3.0 Insira o tempo 1 do atleta 3:5.0 Insira o tempo 2 do atleta 3:4.0 Insira o tempo 3 do atleta 3:3.0 Insira o tempo 4 do atleta 3:2.0 Insira o tempo 5 do atleta 3:1.0 A média de tempo do atleta 1 é:3.00. A média de tempo do atleta 2 é:2.00. A média de tempo do atleta 3 é:3.00. Link to comment Share on other sites More sharing options...
Guest João Antunes Posted December 16, 2019 at 04:55 PM Report Share #616869 Posted December 16, 2019 at 04:55 PM 4 horas atrás, Zamalor disse: #include <stdio.h> #define MAX_ATLETAS 3 #define MAX_REGISTOS_TEMPO 5 void inserirTempos(float tabelaTempos[][MAX_REGISTOS_TEMPO]){ for (int atletaAtual = 0; atletaAtual < MAX_ATLETAS; atletaAtual++){ for (int registoAtual = 0; registoAtual < MAX_REGISTOS_TEMPO; registoAtual++){ printf("Insira o tempo %d do atleta %d:", registoAtual + 1, atletaAtual + 1); scanf("%f", &(tabelaTempos[atletaAtual])[registoAtual]); } } } float calcMedia(float tabelaTempos[][MAX_REGISTOS_TEMPO], float media[]){ for (int atletaAtual = 0; atletaAtual < MAX_ATLETAS; atletaAtual++){ for (int registoAtual = 0; registoAtual < MAX_REGISTOS_TEMPO; registoAtual++){ media[atletaAtual] += tabelaTempos[atletaAtual][registoAtual]; } media[atletaAtual] /= (float)MAX_REGISTOS_TEMPO; } return 0; } void printarMedia(float media[]){ for (int mediaAtual = 0; mediaAtual < MAX_ATLETAS; mediaAtual++){ printf("A média de tempo do atleta %d é:%.2f.\n", mediaAtual + 1, media[mediaAtual]); } } int main(){ float tabelaTempos[MAX_ATLETAS][MAX_REGISTOS_TEMPO]; float media[3]; inserirTempos(tabelaTempos); calcMedia(tabelaTempos, media); printarMedia(media); return 0; } seria isto que estavas a querer fazer? Insira o tempo 1 do atleta 1:1.0 Insira o tempo 2 do atleta 1:1.5 Insira o tempo 3 do atleta 1:2.0 Insira o tempo 4 do atleta 1:2.5 Insira o tempo 5 do atleta 1:3.0 Insira o tempo 1 do atleta 2:1.0 Insira o tempo 2 do atleta 2:1.5 Insira o tempo 3 do atleta 2:2.0 Insira o tempo 4 do atleta 2:2.5 Insira o tempo 3 do atleta 2:2.0 Insira o tempo 4 do atleta 2:2.5 Insira o tempo 5 do atleta 2:3.0 Insira o tempo 1 do atleta 3:5.0 Insira o tempo 2 do atleta 3:4.0 Insira o tempo 3 do atleta 3:3.0 Insira o tempo 4 do atleta 3:2.0 Insira o tempo 5 do atleta 3:1.0 A média de tempo do atleta 1 é:3.00. A média de tempo do atleta 2 é:2.00. A média de tempo do atleta 3 é:3.00. Sim exatamente o que eu pretendia, eu estava a fazer assim : for(i = 0; i < n; i++) for(j = 0; j < n; j++) soma += mat[j]; media = soma/((float)n*(float)n) e depois fazia printf á media mas dava sempre 0, é preciso treino para por o que se pensa no programa, muito obrigado. Link to comment Share on other sites More sharing options...
Guest João Antunes Posted December 16, 2019 at 05:06 PM Report Share #616870 Posted December 16, 2019 at 05:06 PM Afinal, não esta correto, não é a media de cada atleta é a media de cada coluna ou seja a media dos tempos dos 3 atletas depois necessito de ver qual é o melhor tempo de cada atleta nas 5 sessoes pensei no codigo abaixo; n=3; r maior=v[0]; menor=v[0]; for (j=0;j<n;j++){ if (v[j]>maior) maior=v[j]; if (v[j]<menor) menor=v[j]; } Link to comment Share on other sites More sharing options...
PsySc0rpi0n Posted December 19, 2019 at 09:56 PM Report Share #616899 Posted December 19, 2019 at 09:56 PM @Zamalor, mais uma vez, não dás sequer oportunidade aos users de perceberem o que estão a fazer de errado. Chegas aqui e postas cóigo como se não houvesse amanhã. Não é esta a forma de ajudar os users que o forum defende. Aliás, não estás a ajudar em nada! Se queres simplesmente fazer código, monta um negócio e o pessoal paga para tu lhes fazeres código. Agora, quem quer aprender, não está a ser ajudado em nada por ti! 1 Report Kurt Cobain - Grunge misses you Nissan GT-R - beast killer Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now