Luis Alejandro Vera Hernandez
PreguntaHola, porque tengo mal? Cuando es double debo necesariamente poner decimales a los valores? Intente con float tambien me sale 0 en las respuestas. No me esta tomando el numero de las posiciones y me saca siempre 0
#include <stdio.h> #include <stdlib.h> int main() { printf("Array Bidimesional - Promedio de calificaciones.\n\n"); /* Crea un arreglo de 5 filas por 6 columnas en donde: 1.Los primeros 5 elementos cada fila tengan calificaciones aprobatorias entre 6 y 10. 2.El sexto elemento de cada fila debe ser 0. Despues: 3.Calcula el promedio de los primeros 5 elmentos de cada fila y asignalo al sexto elemento. 4.Imprime el promedio de cada fila de calificaciones. */ int suma=0; float promedio; double promedioCal[5][6] = {{6,8,7,9,7,0}, {8,4,9,5,9,0}, {9,6,6,9,10,0}, {7,2,4,8,9,0}, {9,6,5,10,4,0}}; for(int i=0; i<5; i++) { for(int j=0; j<5; j++) { printf("La posicion [%i][%i] es: %d \n", i, j, promedioCal[i][j]); suma+=promedioCal[i][j]; } promedioCal[i][6]= suma / 5; printf("\n El promedio de la fila %i es: %d \n\n", i, promedioCal[i][6]); //reinicio el valor de la suma para que a la siguiente //vuelta la suma empiece de nuevo en 0; suma=0; } return 0; }

Juan Carlos Ramírez Cabrera
Hola, está mal tu código porque al final estás imprimiendo el promedio de un índice que no existe, afuera de tu segundo ciclo la instrucción debería ser así:
promedioCal[i][5]
Te recuerdo que esto se debe a que los índices inician en 0, así que la posición [i][5] sería el sexto elemento de tu arreglo.
Por otro lado, si quieres que sean tratados como double sí debes poner tus números con punto decimal.
Espero te sirva, saludos.