1) Definir dos variables enteras e implementar un procedimiento que incremente en una cantidad cada una de las variables. Mostrar el contenido de las variables en el programa principal.
2) Definir dos variables y dos punteros que hagan referencia a cada una de ellas. Definir un procedimiento para que muestre el contenido de esas variables pero a traves de los punteros.
3) Definir un array de enteros de 10 posiciones.Definir una variable puntero que haga referencia a la primera posición del array.Hacer dos procedimientos, uno para rellenar el array y otro para mostrar su contenido. (De las dos formas, pasando como parametro puntero y pasando como parámetro el array)
4) Completar el anterior definiendo un procedimiento que pida un indice y un valor y modifique el array con ese valor en ese índice.
Y aquí teneis los resultados:
Ejercicio 1:
#include <stdio.h>
#include <stdlib.h>
void incrementar(int *a, int*b){
*a = *a +100;
*b = *b + 100;
}
int main1(void) {
int x;
int y;
// Pide las dos variables enteras
printf("Introduce dos variable enteras x e y: ");
fflush(stdout);
scanf("%d %d", &x, &y);
//Incremento
incrementar(&x, &y);
//Imprimo las variables ya incrementadas
printf("x = %d \ny = %d\n", x, y);
fflush(stdout);
system("PAUSE");
return EXIT_SUCCESS;
}
Ejercicio 2:
#include<stdio.h>
#include<stdlib.h>
void mostrar(int *m, int *n) {
printf("Los datos son %d y %d \n \n", *m, *n);
fflush(stdout);
}
int main2(void) {
int a;
int b;
//Escaneo los datos
printf("Introduzca los datos: \n");
fflush(stdout);
scanf("%d %d", &a, &b);
printf("\n");
//Creo los punteros
int *x = &a;
int *y = &b;
//Llamo al procedimiento.
mostrar(x, y);
system("PAUSE");
return EXIT_SUCCESS;
}
Ejercicio 3:
#include <stdio.h>
#include <stdlib.h>
void rellenarConArray(int *a[]) {
int i;
for(i = 0; i < 10; i++) {
scanf("%d ", a[i]);
}
}
void rellenarConPunte(int *ptr) {
int i;
int *aux = ptr;
for(i = 0; i < 9; i++) {
scanf("%d ", aux);
aux++;
}
}
void imprimirConArray(int *a[]) {
int i;
for(i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
}
void imprimirConPunte(int *ptr) {
int i;
int *aux = ptr;
for(i = 0; i < 10; i++) {
printf("%d ", *aux);
aux++;
}
}
int main(void) {
//main del tercero
int z[10];
int *a = &z[0];
rellenaConArray(z);
mostrarConArray(z);
rellenaConPuntero(a);
mostrarConPuntero(a);
system("PAUSE");
return EXIT_SUCCESS;
}
Ejercicio 4:
void setArray(int a[], int i, int v) {
a[i] = v;
}
void setPuntero(int *a, int i, int v) {
int *aux = a + i;
*aux= v;
}
int main(void) {
//main del cuarto
int z[10];
int *a = &z[0];
rellenaConArray(z);
//Aquí los cambios
setArray(z, 4, 150);
//
mostrarConArray(z);
rellenaConPuntero(a);
//Aquí los cambios
setPuntero(a, 6, 400);
//
mostrarConPuntero(a);
}
Disfrutadlos y si tenéis alguna duda/pega/sugerencia/amenaza no dudeis en comentarla aquí abajo. Todos podemos mejorar ;)
Salud
No hay comentarios:
Publicar un comentario