SlideShare una empresa de Scribd logo
1 de 8
Asignación Dinámica Ing. Paulo Guerra T. 26/Enero/2009
Se asigna memoria dinámicamente mediante la función estándar malloc(), para trabajar con esa memoria como si fuera un array. La función malloc () devuelve un puntero genérico al primer byte de una región de memoria del tamaño en bytes determinado en el argumento. Arrays Asignados Dinámicamente
Malloc(tamaño) tamaño: indica el numero de bytes a reservar.  Si se desea reservar espacio de memoria para 10 elementos de tipo entero: int *p; p=(int *) malloc(10*sizeof(int)); Nota: la función sizeof( argumento) devuelve el numero de bytes que ocupa el argumento. Declaración
Ejemplo #include <stdio.h> #include <stdlib.h> voidmain() { int *p,num; printf("Ingrese el numero de elementos a crear: "); scanf("%d",&num);    p=(int *)malloc(sizeof(int)*num); for(int i=0;i<num;i++)    { printf("Ingrese un dato: "); scanf("%d",(p+i));	    } for(i=0;i<num;i++)    { printf("dato[%d]: %d",i,*(p+i));	    } } recuerde que el puntero p  apunta al primer elemento del arreglo y la variable i aumenta el desplazamiento a la siguiente posición de memoria
#include <stdio.h> #include <stdlib.h> intleer(char texto[100], int min, intmax); voidingresar_datos_arreglo(int *p, intnum); voidimprimir_arreglo(int *p, intnum); voidmain() { int *p,num; num=leer("Ingrese el numero de elementos a crear: (0-20) ", 0, 20);    p=(int *)malloc(sizeof(int)*num); ingresar_datos_arreglo(p,num); imprimir_arreglo(p,num); printf("Gracias... FIN DEL PROGRAMA"); } int leer(char texto[100], int min, intmax) { int valor; 	do 	{ printf("%s", texto); scanf("%d",&valor); 	}while(valor<min ||valor>max); return valor; } voidingresar_datos_arreglo(int *p, intnum) { for(int i=0;i<num;i++)    	{ printf("Ingrese un dato: "); scanf("%d",(p+i));     	 } } voidimprimir_arreglo(int *p, intnum) { for(int i=0;i<num;i++)    { printf("dato[%d]: %d",i,*(p+i));	    } }
int leer(char texto[100], int min, intmax); voidingresar_datos_arreglo(int *p, intnum); voidimprimir_arreglo(int *p, intnum); voidmain() { int *p,num; num=leer("Ingrese el numero de elementos a crear: (0-20) ", 0, 20); p=(int *)malloc(sizeof(int)*num); ingresar_datos_arreglo(p,num); imprimir_arreglo(p,num); printf("Gracias... FIN DEL PROGRAMA"); } int leer(char texto[100], int min, intmax) { int valor; do{ printf("%s", texto); scanf("%d",&valor); }while(valor<min ||valor>max); return valor; } voidingresar_datos_arreglo(int p[], intnum) { for(int i=0;i<num;i++)    	{ printf("Ingrese un dato: "); scanf("%d",&p[i]);     	 } } voidimprimir_arreglo(int *p, intnum) { for(int i=0;i<num;i++)    { printf("dato[%d]: %d",i,p[i]);	    } } Observe que se puede pasar un puntero y recibirlo como un arreglo; esto se puede realizar por que un arreglo de la forma nombre[tamaño] es simplemente un puntero.
Realizar un programa que permita ingresar n elementos de tipo floatdetermine el promedio. A continuación el programa debe almacenar en un nuevo arreglo dinámico la desviación con respecto a la media. d= Ai  -  Ā Por ultimo el programa debe calcular la desviación estándar. s=            (d12  + d22 +  d32 + ….+dn2 )/(n-1) (Realizar el ejemplo con funciones y asignación dinámica). Trabajo en clase
Realizar un programa que permita ingresar una cedula y verifique si la cedula es válida o no. 1002856050 ->Es válida 1000000001-> Es inválida Trabajo en clase

Más contenido relacionado

La actualidad más candente (20)

Algoritmos en c++
Algoritmos en c++Algoritmos en c++
Algoritmos en c++
 
Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++Ejercicios resueltos de borland c++
Ejercicios resueltos de borland c++
 
Ejercicios de programación.
Ejercicios de programación.Ejercicios de programación.
Ejercicios de programación.
 
Vectores en c++
Vectores en c++Vectores en c++
Vectores en c++
 
Arreglos
ArreglosArreglos
Arreglos
 
Arreglos algoritmica
Arreglos algoritmicaArreglos algoritmica
Arreglos algoritmica
 
programación
programaciónprogramación
programación
 
Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)
 
Funciones
FuncionesFunciones
Funciones
 
Funcion cuadratica
Funcion cuadraticaFuncion cuadratica
Funcion cuadratica
 
!Prograc7
!Prograc7!Prograc7
!Prograc7
 
Practca#1 2210
Practca#1 2210 Practca#1 2210
Practca#1 2210
 
Suma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimalesSuma y multiplica dos numeros decimales
Suma y multiplica dos numeros decimales
 
Tablas de multiplicar (código Dev C++)
Tablas de multiplicar (código Dev C++)Tablas de multiplicar (código Dev C++)
Tablas de multiplicar (código Dev C++)
 
Programación 1: arreglos en C
Programación 1: arreglos en CProgramación 1: arreglos en C
Programación 1: arreglos en C
 
Ejemplos c++
Ejemplos c++Ejemplos c++
Ejemplos c++
 
Programación 1: funciones en C
Programación 1: funciones en CProgramación 1: funciones en C
Programación 1: funciones en C
 
Programa en visual basic 6
Programa en visual basic 6Programa en visual basic 6
Programa en visual basic 6
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
Presentación1
Presentación1Presentación1
Presentación1
 

Destacado

приказ №218 от_17.05.2014
приказ №218 от_17.05.2014приказ №218 от_17.05.2014
приказ №218 от_17.05.2014Piter Lokshin
 
диагностика внутренних болезней том2
диагностика внутренних болезней том2диагностика внутренних болезней том2
диагностика внутренних болезней том2Piter Lokshin
 
Инвалиды, врачи, общество
Инвалиды, врачи, обществоИнвалиды, врачи, общество
Инвалиды, врачи, обществоPiter Lokshin
 
Rumliscomputing 090817115755-phpapp02
Rumliscomputing 090817115755-phpapp02Rumliscomputing 090817115755-phpapp02
Rumliscomputing 090817115755-phpapp02darlenedav
 
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...Piter Lokshin
 
Publishers Press 50th Anniversary Book
Publishers Press 50th Anniversary BookPublishers Press 50th Anniversary Book
Publishers Press 50th Anniversary BookPublishers Press
 

Destacado (9)

приказ №218 от_17.05.2014
приказ №218 от_17.05.2014приказ №218 от_17.05.2014
приказ №218 от_17.05.2014
 
диагностика внутренних болезней том2
диагностика внутренних болезней том2диагностика внутренних болезней том2
диагностика внутренних болезней том2
 
Paper 3632
Paper 3632Paper 3632
Paper 3632
 
Инвалиды, врачи, общество
Инвалиды, врачи, обществоИнвалиды, врачи, общество
Инвалиды, врачи, общество
 
Rumliscomputing 090817115755-phpapp02
Rumliscomputing 090817115755-phpapp02Rumliscomputing 090817115755-phpapp02
Rumliscomputing 090817115755-phpapp02
 
Paper 3463
Paper 3463Paper 3463
Paper 3463
 
Paper 3688
Paper 3688Paper 3688
Paper 3688
 
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...
Отчет Министерства здравоохранения Российской Федерации за 2013 год и планы н...
 
Publishers Press 50th Anniversary Book
Publishers Press 50th Anniversary BookPublishers Press 50th Anniversary Book
Publishers Press 50th Anniversary Book
 

Similar a AsignacióN DináMica (20)

Aritmetica
AritmeticaAritmetica
Aritmetica
 
Programaswin32c++
Programaswin32c++Programaswin32c++
Programaswin32c++
 
Deber de programación
Deber de programación  Deber de programación
Deber de programación
 
Informe tecnico
Informe tecnicoInforme tecnico
Informe tecnico
 
Punteros2
Punteros2Punteros2
Punteros2
 
El lenguaje c
El lenguaje cEl lenguaje c
El lenguaje c
 
Taller II Coreis Python 13112009
Taller II Coreis Python 13112009Taller II Coreis Python 13112009
Taller II Coreis Python 13112009
 
ED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejerciciosED 01 tipos_datos_ejercicios
ED 01 tipos_datos_ejercicios
 
Lenguaje
LenguajeLenguaje
Lenguaje
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Arrays unidimensionales
Arrays unidimensionalesArrays unidimensionales
Arrays unidimensionales
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Codigos de programas
Codigos de programasCodigos de programas
Codigos de programas
 
Fpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.comFpr Tema 4 www.fresymetal.com
Fpr Tema 4 www.fresymetal.com
 
1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios
 
Programa
ProgramaPrograma
Programa
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Unidad16 Codigof1
Unidad16 Codigof1Unidad16 Codigof1
Unidad16 Codigof1
 
Ejemplos Importantisimo
Ejemplos  ImportantisimoEjemplos  Importantisimo
Ejemplos Importantisimo
 

Último

Revista del Club A. Banfield - Abril 2024
Revista del Club A. Banfield - Abril 2024Revista del Club A. Banfield - Abril 2024
Revista del Club A. Banfield - Abril 2024LeonardoCedrn
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdf
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdfAgendadeportiva-Directv - 26 de abril al 3 de mayo.pdf
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdfeluniversocom
 
Presentación de la edición 12º Revista "Voley" 2024
Presentación de la edición 12º Revista "Voley" 2024Presentación de la edición 12º Revista "Voley" 2024
Presentación de la edición 12º Revista "Voley" 2024Judith Chuquipul
 
Reunion 9 Hipodromo Nacional de Valencia 040524.pdf
Reunion 9 Hipodromo Nacional de Valencia 040524.pdfReunion 9 Hipodromo Nacional de Valencia 040524.pdf
Reunion 9 Hipodromo Nacional de Valencia 040524.pdfWinston1968
 
Reunion 17 Hipodromo La Rinconada 050524.pdf
Reunion 17 Hipodromo La Rinconada 050524.pdfReunion 17 Hipodromo La Rinconada 050524.pdf
Reunion 17 Hipodromo La Rinconada 050524.pdfWinston1968
 
Habilidades Motrices Básicas de manera didáctica para niños
Habilidades Motrices Básicas de manera didáctica para niñosHabilidades Motrices Básicas de manera didáctica para niños
Habilidades Motrices Básicas de manera didáctica para niñosdamianpacheco01
 

Último (7)

Revista del Club A. Banfield - Abril 2024
Revista del Club A. Banfield - Abril 2024Revista del Club A. Banfield - Abril 2024
Revista del Club A. Banfield - Abril 2024
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdf
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdfAgendadeportiva-Directv - 26 de abril al 3 de mayo.pdf
Agendadeportiva-Directv - 26 de abril al 3 de mayo.pdf
 
Presentación de la edición 12º Revista "Voley" 2024
Presentación de la edición 12º Revista "Voley" 2024Presentación de la edición 12º Revista "Voley" 2024
Presentación de la edición 12º Revista "Voley" 2024
 
Reunion 9 Hipodromo Nacional de Valencia 040524.pdf
Reunion 9 Hipodromo Nacional de Valencia 040524.pdfReunion 9 Hipodromo Nacional de Valencia 040524.pdf
Reunion 9 Hipodromo Nacional de Valencia 040524.pdf
 
Reunion 17 Hipodromo La Rinconada 050524.pdf
Reunion 17 Hipodromo La Rinconada 050524.pdfReunion 17 Hipodromo La Rinconada 050524.pdf
Reunion 17 Hipodromo La Rinconada 050524.pdf
 
Habilidades Motrices Básicas de manera didáctica para niños
Habilidades Motrices Básicas de manera didáctica para niñosHabilidades Motrices Básicas de manera didáctica para niños
Habilidades Motrices Básicas de manera didáctica para niños
 

AsignacióN DináMica

  • 1. Asignación Dinámica Ing. Paulo Guerra T. 26/Enero/2009
  • 2. Se asigna memoria dinámicamente mediante la función estándar malloc(), para trabajar con esa memoria como si fuera un array. La función malloc () devuelve un puntero genérico al primer byte de una región de memoria del tamaño en bytes determinado en el argumento. Arrays Asignados Dinámicamente
  • 3. Malloc(tamaño) tamaño: indica el numero de bytes a reservar. Si se desea reservar espacio de memoria para 10 elementos de tipo entero: int *p; p=(int *) malloc(10*sizeof(int)); Nota: la función sizeof( argumento) devuelve el numero de bytes que ocupa el argumento. Declaración
  • 4. Ejemplo #include <stdio.h> #include <stdlib.h> voidmain() { int *p,num; printf("Ingrese el numero de elementos a crear: "); scanf("%d",&num); p=(int *)malloc(sizeof(int)*num); for(int i=0;i<num;i++) { printf("Ingrese un dato: "); scanf("%d",(p+i)); } for(i=0;i<num;i++) { printf("dato[%d]: %d",i,*(p+i)); } } recuerde que el puntero p apunta al primer elemento del arreglo y la variable i aumenta el desplazamiento a la siguiente posición de memoria
  • 5. #include <stdio.h> #include <stdlib.h> intleer(char texto[100], int min, intmax); voidingresar_datos_arreglo(int *p, intnum); voidimprimir_arreglo(int *p, intnum); voidmain() { int *p,num; num=leer("Ingrese el numero de elementos a crear: (0-20) ", 0, 20); p=(int *)malloc(sizeof(int)*num); ingresar_datos_arreglo(p,num); imprimir_arreglo(p,num); printf("Gracias... FIN DEL PROGRAMA"); } int leer(char texto[100], int min, intmax) { int valor; do { printf("%s", texto); scanf("%d",&valor); }while(valor<min ||valor>max); return valor; } voidingresar_datos_arreglo(int *p, intnum) { for(int i=0;i<num;i++) { printf("Ingrese un dato: "); scanf("%d",(p+i)); } } voidimprimir_arreglo(int *p, intnum) { for(int i=0;i<num;i++) { printf("dato[%d]: %d",i,*(p+i)); } }
  • 6. int leer(char texto[100], int min, intmax); voidingresar_datos_arreglo(int *p, intnum); voidimprimir_arreglo(int *p, intnum); voidmain() { int *p,num; num=leer("Ingrese el numero de elementos a crear: (0-20) ", 0, 20); p=(int *)malloc(sizeof(int)*num); ingresar_datos_arreglo(p,num); imprimir_arreglo(p,num); printf("Gracias... FIN DEL PROGRAMA"); } int leer(char texto[100], int min, intmax) { int valor; do{ printf("%s", texto); scanf("%d",&valor); }while(valor<min ||valor>max); return valor; } voidingresar_datos_arreglo(int p[], intnum) { for(int i=0;i<num;i++) { printf("Ingrese un dato: "); scanf("%d",&p[i]); } } voidimprimir_arreglo(int *p, intnum) { for(int i=0;i<num;i++) { printf("dato[%d]: %d",i,p[i]); } } Observe que se puede pasar un puntero y recibirlo como un arreglo; esto se puede realizar por que un arreglo de la forma nombre[tamaño] es simplemente un puntero.
  • 7. Realizar un programa que permita ingresar n elementos de tipo floatdetermine el promedio. A continuación el programa debe almacenar en un nuevo arreglo dinámico la desviación con respecto a la media. d= Ai - Ā Por ultimo el programa debe calcular la desviación estándar. s= (d12 + d22 + d32 + ….+dn2 )/(n-1) (Realizar el ejemplo con funciones y asignación dinámica). Trabajo en clase
  • 8. Realizar un programa que permita ingresar una cedula y verifique si la cedula es válida o no. 1002856050 ->Es válida 1000000001-> Es inválida Trabajo en clase