1 #include #include struct agenda { char

Anuncio
1.
Realice la definición de la función leer( ) y en el main rellene los blancos
#include <stdio.h>
#include <stdlib.h>
struct agenda
{
char nombre[30];
char apellido[40];
char telefono[10];
};
struct agenda *leer(void);
void main(void)
{
struct agenda *pag;
pag = leer();
printf("\n\n%s %s %s \n", pag ->nombre, pag ->apellido, pag ->telefono);
free(pag);
}
struct agenda *leer(void)
{
struct agenda *pagenda;
pagenda = (struct agenda *)malloc(sizeof(struct agenda));
printf("Introduzca el nombre: ");
gets(pagenda->nombre);
printf("Introduzca el apellido: ");
gets(pagenda->apellido);
printf("Introduzca el telefono: ");
gets(pagenda->telefono);
return (pagenda);
}
2.
Relice la definición de las funciones:
#include <stdio.h>
struct persona
{
char nombre[20];
char calle[30];
int edad;
};
/* Prototipos de funciones */
void entrada(struct persona *ptr);
void imprimir(struct persona ptr);
1
void main()
{
struct persona p;
entrada(&p); //Llamada a la función entrada
imprimir(p); //Llamada a la función imprimir
}
void entrada(struct persona *pp)
{
puts("\n Entrada de los datos de una persona\n");
printf("Nombre:");
gets(pp->nombre);
printf("Calle:");
gets(pp->calle);
printf("Edad:");
scanf(“%d”,&pp->edad);
}
void imprimir(struct persona p)
{
puts(p.nombre);
puts(p.calle);
printf(“%d”,p.edad);
}
3. Escriba un programa que cree un arreglo dinámico bidimensional de
enteros. Lea la primera fila del arreglo y asigne a la segunda fila, los cubos
de los datos de la primera fila. Imprima la matriz resultante. Recuerde
liberar la memoria creada.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void main()
{
int **p = NULL;
int f = 0, c = 0, nfilas = 2, ncols;
printf("Cuantas columnas tiene el arreglo?:");
scanf("%d",&ncols);
/* Asignar memoria para el array de punteros */
if ((p = (int **)malloc(nfilas * sizeof(int *))) == NULL)
{
printf("Memoria Insuficiente\n");
exit(1);
}
2
/* Asignar memoria para cada una de las filas */
for (f = 0; f < nfilas; f++)
{
if ((ptmatriz[f] = (int *)malloc(ncols * sizeof(int))) == NULL)
{
printf("Memoria Insuficiente\n");
exit(1);
}
}
/* Lectura de los datos de la Primera Fila */
for ( f = 0; f < 1; f++ )
for ( c = 0; c < ncols; c++ )
{
printf("Elemento[%d][%d] = ",f,c);
scanf("%d",&p[f][c]);
}
/* Asignar al array, el cubo de la primera fila a la segunda fila */
for ( f = 1; f < 2; f++ )
for ( c = 0; c < ncols; c++ )
{
*(*(p+f)+c) = pow(p[f-1][c],3);
}
/* Matriz Resultante */
printf("\nMatriz resultante:\n");
for ( f = 0; f < nfilas; f++ )
{
for ( c = 0; c < ncols; c++ )
printf("%d\t", *(*(p+f)+c));
printf("\n");
}
/* Liberar la memoria asignada a cada una de las filas */
for ( f = 0; f < nfilas; f++ )
free(p[f]);
/* Liberar la memoria asignada al array de punteros */
free(p);
}
3
Descargar