Beruflich Dokumente
Kultur Dokumente
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 2.5.1 */
/* s020501.c */
/* */
/* Pedir al usuario 4 */
/* letras, mostrarlas en */
/* orden inverso y entre */
/* comillas */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
char letra1, letra2, letra3, letra4;
Apartado 3.1.1a: Crear un programa que pida al usuario un número entero y diga
si es par (pista: habrá que comprobar si el resto que se obtiene al dividir entre dos
es cero: if (x % 2 == 0) ...
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.1a */
/* s030101a.c */
/* */
/* Ver si un numero es */
/* par */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
int x;
if (x%2 == 0)
printf("Es un numero par.");
if (x%2 != 0)
printf("Es un numero impar.");
return 0;
}
Apartado 3.1.1b: Crear un programa que pida al usuario dos números enteros y
diga cual es el mayor de ellos.
Apartado 3.1.1c: Crear un programa que pida al usuario dos números enteros y
diga si el primero es múltiplo del segundo (pista: igual que antes, habrá que ver si
el resto de la división es cero: a % b == 0).
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.3b */
/* s030103b.c */
/* */
/* Dividir... solo si es */
/* posible */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
float x, y;
if (y==0)
printf("Error: No se puede dividir entre
cero.");
if (y!=0)
printf("El resultado de su division es %f",
x/y);
return 0;
}
Apartado 3.1.4b: Crear un programa que pida al usuario dos números reales. Si el
segundo no es cero, mostrará el resultado de dividir entre el primero y el segundo.
Por el contrario, si el segundo número es cero, escribirá "Error: No se puede dividir
entre cero". (Variante con "else")
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.4b */
/* s030104b.c */
/* */
/* Dividir... solo si es */
/* posible (usa "else") */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
float x, y;
if (y==0)
printf("Error: No se puede dividir entre
cero.");
else
printf("El resultado de su division es %f",
x/y);
return 0;
}
Apartado 3.1.5a: Crear un programa que pida una letra al usuario y diga si se
trata de una vocal.
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.5a */
/* s030105a.c */
/* */
/* Ver si una letra es */
/* una vocal */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
char x;
return 0;
}
Apartado 3.1.5b: Crear un programa que pida al usuario dos números enteros y
diga "Uno de los números es positivo", "Los dos números son positivos" o bien
"Ninguno de los números es positivo", según corresponda.
Apartado 3.1.5c: Crear un programa que pida al usuario tres números reales y
muestre cuál es el mayor de los tres.
Apartado 3.1.9b: Crear un programa que use el operador condicional para dar a
una variable llamada "iguales" (entera) el valor 1 si los dos números que ha
tecleado el usuario son iguales, o el valor 0 si son distintos.
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.1.9c */
/* s030109c.c */
/* */
/* Mayor de dos numeros */
/* con operador condic. */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
int a, b, mayor;
mayor = (a>b) ? a : b;
return 0;
}
Apartado 3.2.1c: Crea un programa que escriba en pantalla los números pares
del 26 al 10 (descendiendo), usando "while".
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 3.2.1d */
/* s030201d.c */
/* */
/* Cantidad de cifras de */
/* un entero */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
int numero;
int cifras = 1;
printf("Introduce un numero: ");
scanf("%d", &numero);
return 0;
}
Apartado 5.1.3b: Crear un programa que pida al usuario 10 números y luego los
muestre en orden inverso (del último al primero).
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.1.4b */
/* s050104b.c */
/* */
/* Pedir 10 datos reales */
/* y mostrarlos al reves */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
int main()
{
float datos[10];
int i;
/* Pido los datos */
printf(" Introduzca los 10 datos \n");
for (i=0; i<10; i++)
scanf("%f", &datos[i]);
return 0;
}
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.2.3a */
/* s050203a.c */
/* */
/* Espacios entre las */
/* letras de una cadena */
/* */
/* Aportado por: */
/* Pablo Rampa */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char nombre[30];
return 0;
}
Apartado 5.2.4a: Un programa que te pida una frase y la muestre en pantalla sin
espacios. Por ejemplo, si la frase es "Hola, como estás", debería aparecer en
pantalla "Hola,comoestás".
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.2.4a */
/* s050204a.c */
/* */
/* Cadena sin espacios */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
char frase[80];
int i;
return 0;
}
Apartado 5.2.4b: Un programa que te pida tu nombre (usando "gets") y una cifra
numérica, y escriba tu nombre tantas veces como indique esa cifra numérica.
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.2.4b */
/* s050204b.c */
/* */
/* Cadena repetida, gets */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
char frase[80];
int cantidad;
int i;
return 0;
}
Apartado 5.2.4c: Un programa similar al anterior, pero que pida en primer lugar la
cifra numérica y después tu nombre (con "gets"), y luego escriba el nombre tantas
veces como indique esa cifra numérica.
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.2.4c */
/* s050204c.c */
/* */
/* Cadena repetida (2), */
/* con gets */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
char frase[80];
int cantidad;
int i;
return 0;
}
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.2.6a */
/* s050206a.c */
/* */
/* Pedir clave de acceso */
/* de forma repetitiva */
/* */
/* Aportado por: */
/* Pablo Rampa */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
char intento[10];
char palabraClave[]="clave";
do
{
printf("Escriba su clave: ");
gets(intento);
}
while (strcmp(intento, palabraClave) != 0);
return 0;
}
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.4a */
/* s0504a.c */
/* */
/* Buscar nombre en un */
/* array */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
int main()
{
int i;
char nombres[10][80];
char nombreBuscar[80];
int encontrado;
do
{
printf("Escriba nombre a buscar, o \"fin\" para
terminar: ");
gets(nombreBuscar);
encontrado = 0;
if (strcmp(nombreBuscar, "fin") != 0)
{
for (i=0; i<10; i++)
{
if (strcmp(nombreBuscar, nombres[i])
== 0)
encontrado = 1;
}
if (encontrado == 1)
printf("Este nombre se encuentra en la
lista\n");
else
printf("Este nombre no se encuentra en
la lista\n");
}
}
while (strcmp(nombreBuscar, "fin") != 0);
return 0;
}
/*-------------------------*/
/* Solucion al ejercicio */
/* propuesto 5.5.2b */
/* s050502b.c */
/* */
/* Guardar hasta 700 */
/* imagenes */
/* */
/* Aportado por: */
/* Pablo Rampa */
/* */
/* Curso de C, */
/* Nacho Cabanes */
/*-------------------------*/
#include <stdio.h>
#include <string.h>
struct
{
char nombre[40];
int ancho;
int alto;
float tamanyoKB;
} imagen[700];
int main()
{
int numeroFichas=0; /* Número de fichas que ya
tenemos */
int opcion; /* La opcion del menu que elija
el usuario */
int i; /* Para bucles */
char textoTemporal[80]; /* Para busquedas */
int encontrado;
do
{
/* Menu principal */
puts("Escoja una opción:");
puts("1.- Añadir datos de una imagen");
puts("2.- Ver nombres de todas las imagenes");
puts("3.- Buscar imagen por nombre");
puts("0.- Salir");
scanf("%d", &opcion);
getchar(); /* Para absorver el \n */
switch(opcion)
{
case 1: /* Añadir un dato nuevo */
if (numeroFichas < 700) /* Si queda hueco
*/
{
printf("Nombre de la imagen: ");
gets(imagen[numeroFichas].nombre);
printf("Anchura de la imagen en Pixeles:
");
scanf("%d", &imagen[numeroFichas].ancho);
printf("Altura de la imagen en Pixeles: ");
scanf("%d", &imagen[numeroFichas].alto);
printf("Tamanyo en KB: ");
scanf("%f",
&imagen[numeroFichas].tamanyoKB);
/* Y ya tenemos una ficha más */
numeroFichas++;
} else /* Si no hay hueco para más fichas,
avisamos */
printf("Máximo de fichas alcanzado
(700)!\n");
break;
case 2: /* Mostrar todos */
for (i=0; i<numeroFichas; i++)
printf("Numero: %d, nombre: %s\n",
i, imagen[i].nombre);
break;
case 3: /* Buscar una */
printf("Nombre a buscar? ");
gets(textoTemporal);
encontrado = 0;
for (i=0; i<numeroFichas; i++)
if (strcmp(imagen[i].nombre,
textoTemporal) == 0)
{
printf("Nombre: %s; Ancho: %d; Alto:
%d; Tamanyo: %f Kb\n",
imagen[i].nombre, imagen[i].ancho,
imagen[i].alto,
imagen[i].tamanyoKB);
encontrado = 1;
}
if (!encontrado)
puts("No encontrado");
break;
}
} while (opcion != 0); /* Si la opcion es 5,
terminamos */
return 0;
}
El problema que tengo es con la última acción, la cual es agregar un elemento al final del
arreglo.
#include <stdio.h>
int main()
{
int n; // Variable que determinará el número de elementos del arreglo.
int i; // Variable para recorrer el arreglo.
int elemento_Bus;
int elemento_Borr;
int elemento_Agre;
printf("\n\n");
borrarElemento(array, n, elemento_Borr);
printf("\n");
agregarElemento(array, n, elemento_Agre);
printf("\n");
system("pause");
return 0;
}
if(b==1)
{
printf("El elemento encontrado es %d y se encuentra en la posicion %d.\n",hold1,hold2);
}
else
{
printf("Elemento no encontrado.\n");
}
}
if(c == 1)
{
printf("El arreglo sin el elemento borrado anteriormente es:");
c[size_agrega] = element_Agregar;
size_agrega++;
#include <stdio.h>
#include <stdlib.h>
int indice,x;
char frase[50];
printf("\n\n");
system("PAUSE");
return 0;
}