Tomás Mendes Posted April 28, 2009 at 04:00 PM Report #259730 Posted April 28, 2009 at 04:00 PM Boa tarde, Apreceu-me esta escolha múltipla e eu não consigo chegar à resposta que eles dizem. A seguinte função recebe um vector a com L elementos, em que cada elemento é um vector de inteiros com dimensão C, e coloca no vector b a soma de valores de cada um dos vectores inteiros (i.e., b[0] tem a soma do vector guardado na posição 0 de a, b[1] tem a soma do vector guardado na posição 1 de a, etc.) void soma_col(int *a[], int *b, int L, int C) { int i,j; for (i = 0; i < L; ++i) b[i] = 0; for (i = 0; i < L; ++i) for(j = 0; j < C; ++j) *********************** } Qual das seguintes linhas de código deverá substituir a linha marcada com ** para que a função execute correctamente? a. b[j]; b. b[j] += a[j][i ]; c. b[i ] += *(*(a+j)+i); d. b[j] += *(*(a+j)+i); e. b[j] += *(a+j+i); Resposta certa é a c. Alguém me consegue explicar porquê?
karva Posted April 28, 2009 at 06:37 PM Report #259759 Posted April 28, 2009 at 06:37 PM Antes de mais, tu queres é meter esse valor na posição i do vector, uma vez que estás a visualizar a informação referente ao vector na posição i do vector principal. Quanto ao resto, també acho que faria mais sentido fazer algo do estilo *(*(a+i)+j) e não como lá está... Cumps Proud LEIC-A@IST student!
Rui Carlos Posted April 28, 2009 at 06:40 PM Report #259760 Posted April 28, 2009 at 06:40 PM Ou a minha interpretação do enunciado está errada, ou também acho que devia ser *(*(a+i)+j) (que seria equivalente a a). Rui Carlos Gonçalves
Tomás Mendes Posted April 28, 2009 at 06:53 PM Author Report #259763 Posted April 28, 2009 at 06:53 PM Pois... exactamente o que eu pensei. PS: karva, ou estou enganado ou já vi o teu nick em outro lado qualquer e também vais fazer este teste amanhã...
karva Posted April 28, 2009 at 07:02 PM Report #259765 Posted April 28, 2009 at 07:02 PM Não, não estás enganado de todo, também sou caloiro de LEIC, e também vou fazer o teste amanhã. 😛 Proud LEIC-A@IST student!
Baderous Posted April 28, 2009 at 08:00 PM Report #259775 Posted April 28, 2009 at 08:00 PM Ou a minha interpretação do enunciado está errada, ou também acho que devia ser *(*(a+i)+j) (que seria equivalente a a). Bem me queria parecer, estava a achar estranho aquilo até porque já tinha feito o esquema e não estava a bater certo...
karva Posted April 29, 2009 at 10:19 AM Report #259907 Posted April 29, 2009 at 10:19 AM Yep, já confirmei isso, é mesmo gaffe, devia ser *(*(a+i)+j). Cumps Proud LEIC-A@IST student!
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