Título: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 26 Junio 2017, 00:32 am Hola una duda como le doy memoria dinamica a un parametro en una funcion.
el parametro es una matriz. mi duda es que valor colocar en la segunda llave de nota. Código
gracias de antemano :D Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 26 Junio 2017, 01:09 am Fíjate que lo que estás haciendo en este código es una escalera. La nota alumno tendrá alumno entradas. Lo que lleva al siguiente problema:
nota[0] tendrá 0 bytes (indefinido, lo debe resolver el compilador pero ¿y si no lo hace?). nota[1] tendrá 4 bytes nota[2] tendrá 8 bytes etc. Supongo que te habrán dicho cuántas asignaturas tendrá cada alumno. Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 26 Junio 2017, 01:22 am este es el anunciado
/*Implementar un programa que lea las notas de todos los alumnos de una clase para una asignatura (Validar que las calificaciones estén comprendidas entre 1 y 20 puntos. Al estudiante que no presentó se le acepta la calificación de cero), calcule: a. Emitir un listado que muestre el número de cédula de cada estudiante con su respectiva calificación y su valoración cualitativa de “Aprobado” o “Reprobado” (trabajar el formato numérico para dos dígitos que aparezca el cero a la izquierda, cuando un estudiante posee nota de cero puntos, en su reemplazo debe aparecer las letras NP, que indican que no presentó). b. Calcular la media de la materia. c. Determine cuántos alumnos superan o igualan la media y cuántos están por debajo de la misma. d. Mostrar que estudiante tiene la nota máxima y cuál la nota mínima. e. Emitir el % de aprobados y el % de reprobados. */ 1 asignatura pero n evaluaciones Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 26 Junio 2017, 01:54 am Pues en el segundo malloc, el que corresponde al número de evaluaciones, en vez de multiplicar por alumno lo debes hacer por n.
Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 26 Junio 2017, 04:19 am gracias por esa acotacion y si era un error que no habia visto. pero aun tengo la duda de la funcion
Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 26 Junio 2017, 09:18 am Si has creado los arrays en el main no debes hacerlos de nuevo dentro de una función.
Pero si lo que quieres es pasar un puntero a la función y que ésta lo defina debes pasar un puntero a ese puntero. Tu duda y el código que has pasado dicen cosas diferentes. Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 26 Junio 2017, 22:57 pm Emmmm pues cuando es una matriz y haces el prototipo y las variables que quieres pasar no tienes que declarar la memoria que tiene el segundo corchete o mejor dicho las columnas
Código
??? tengo por entendido que si y si lo estoy declarando pero es memoria dinamica como hago para introducir la variable alli?. Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 26 Junio 2017, 23:20 pm Usa la notación de punteros.
Para pasar arrays y tablas usa la notación de arrays y tablas. Para pasar punteros usa la notación de punteros. Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 27 Junio 2017, 01:18 am seria algo asi?
Código
Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 27 Junio 2017, 01:44 am Más bien:
Código
Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: Roga en 27 Junio 2017, 02:49 am gracias ya no sale error pero me explicas para que sirve size_t?
Título: Re: Ayuda con declaracion de memoria dinamica en funcion Publicado por: MAFUS en 27 Junio 2017, 06:51 am Es un typedef al mayor entero sin signo capaz de usar toda el tamaño de la palabra del procesador.
|