Ejercicios Resueltos de Programación en C: Vectores y Ciclos
Ejercicio 1: Leer, Guardar y Mostrar 10 Números Enteros
Construya un programa que permita leer y guardar 10 números enteros y posteriormente los muestre por pantalla.
#include <stdio.h>
#include <conio.h>
int main() {
int cantidad;
printf("Ingrese cantidad de numeros: ");
scanf("%i", &cantidad);
int numeros[cantidad];
for (int i = 0; i < cantidad; i++) {
printf("Valor posicion %i: ", i);
scanf("%i", &numeros[i]);
}
for (int x = 0; x < cantidad; x++) {
printf("Valor posicion %i: %i \n", x, numeros[x]);
}
getch();
return 0;
}
Ejercicio 2: Guardar y Mostrar 15 Números
Cree un programa que permita guardar 15 números, y posteriormente permita mostrarlos por pantalla. Utilice los mensajes adecuados para el correcto funcionamiento y comprensión por parte del usuario.
#include <stdio.h>
#include <conio.h>
int main() {
int cantidad;
printf("Ingrese cantidad de numeros: ");
scanf("%i", &cantidad);
int numeros[cantidad];
for (int i = 0; i < cantidad; i++) {
printf("Valor posicion %i: ", i);
scanf("%i", &numeros[i]);
}
for (int x = 0; x < cantidad; x++) {
printf("Valor posicion %i: %i \n", x, numeros[x]);
}
getch();
return 0;
}
Ejercicio 3: Mostrar Números en Orden Inverso
Cree un programa que luego de leer y guardar 10 números enteros, los muestre por pantalla, pero en orden inverso a como se ingresaron.
#include <stdio.h>
#include <conio.h>
int main() {
int cantidad;
printf("Ingrese cantidad de numeros: ");
scanf("%i", &cantidad);
int numeros[cantidad];
for (int i = 0; i < cantidad; i++) {
printf("Valor posicion %i: ", i);
scanf("%i", &numeros[i]);
}
for (int x = (cantidad - 1); x >= 0; x--) {
printf("Valor posicion %i: %i \n", x, numeros[x]);
}
getch();
return 0;
}
Ejercicio 4: Generar y Mostrar los Primeros 10 Números Enteros
Haga un programa que genere los primeros 10 números enteros, los almacene en una variable y luego los muestre por pantalla.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros[10];
for (int i = 0; i < 10; i++) {
numeros[i] = i + 1;
}
for (int i = 0; i < 10; i++) {
printf("Numero %i \n", numeros[i]);
}
getch();
return 0;
}
Ejercicio 5: Suma de Elementos de Dos Vectores
Cree un programa que lea 5 números enteros y los guarde en un vector, luego, lea otros 5 números enteros y los guarde en otro vector. Finalmente, genere un nuevo vector que contenga la suma de cada elemento según su posición de los vectores anteriores, es decir que si en la posición 3 del primer vector hay un 5 y en la misma posición del segundo vector hay un 8, entonces en la misma posición del nuevo vector debe guardar 13, que es la suma de dichos números. Finalmente debe mostrar todos los vectores, de la manera más clara posible.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros1[5];
int numeros2[5];
int numeros3[5];
int suma = 0, ubicacion = 0;
for (int i = 0; i < 5; i++) {
printf("Ingrese valor para el primer vector en la posicion [%i]: ", i);
scanf("%i", &numeros1[i]);
}
for (int x = 0; x < 5; x++) {
printf("Ingrese valor para el segundo vector en la posicion [%i]: ", x);
scanf("%i", &numeros2[x]);
}
printf("Primer vector: \n");
for (int i = 0; i < 5; i++) {
printf("Posicion [%i] valor: %i \n", i, numeros1[i]);
}
printf("Segundo vector: \n");
for (int x = 0; x < 5; x++) {
printf("Posicion [%i] valor: %i \n", x, numeros2[x]);
}
for (int j = 0; j < 5; j++) {
suma = numeros1[j] + numeros2[j];
numeros3[j] = suma;
}
printf("Tercer vector (suma de los dos anteriores): \n");
for (int k = 0; k < 5; k++) {
printf("Posicion [%i] valor: %i \n", k, numeros3[k]);
}
getch();
return 0;
}
Ejercicio 6: Suma de Positivos y Negativos en un Vector
Cree un programa que asigne los siguientes valores a un vector: 4,-5,8,10,-3,9,12,-6,-1, y posteriormente muestre la suma de los positivos y la suma de los negativos.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros1[] = {4, -5, 8, 10, -3, 9, 12, -6, -1};
int pos = 0, neg = 0;
int size = sizeof(numeros1) / sizeof(numeros1[0]);
for (int k = 0; k < size; k++) {
if (numeros1[k] < 0) {
neg = neg + numeros1[k];
} else {
pos = pos + numeros1[k];
}
}
printf("Suma positivos: %i \nSuma negativos: %i", pos, neg);
getch();
return 0;
}
Ejercicio 7: Calcular Suma de Positivos y Negativos
Genere un programa que luego de leer los números, -3, 6, 9, -10, 11, 14 y –5 y los guarde en un arreglo para luego calcular, la suma de los elementos positivos y negativos.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros1[] = {-3, 6, 9, -10, 11, 14, -5};
int pos = 0, neg = 0;
int size = sizeof(numeros1) / sizeof(numeros1[0]);
for (int k = 0; k < size; k++) {
if (numeros1[k] < 0) {
neg = neg + numeros1[k];
} else {
pos = pos + numeros1[k];
}
}
printf("Suma positivos: %i \nSuma negativos: %i", pos, neg);
getch();
return 0;
}
Ejercicio 8: Imprimir Números al Revés con Ciclos «While» y «For»
Cree un programa que permita leer 5 números y posteriormente permita imprimirlos al revés, es decir, a la inversa de cómo se ingresaron. Haga una versión del programa con el ciclo “while” y otra versión con el ciclo “for”.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros[5];
int opcion = 0;
for (int i = 0; i < 5; i++) {
printf("Posicion [%i] valor: ", i);
scanf("%i", &numeros[i]);
}
printf("Seleccione opcion \n <1> For \n <2> While \n");
scanf("%i", &opcion);
int x = 0;
switch (opcion) {
case 1:
for (x = 4; x >= 0; x--) {
printf("Posicion [%i] valor: %i\n", x, numeros[x]);
}
break;
case 2:
x = 4;
while (x >= 0) {
printf("Posicion [%i] valor: %i\n", x, numeros[x]);
x--;
}
break;
default:
printf("Opcion invalida");
break;
}
getch();
return 0;
}
Ejercicio 9: Mostrar 20 Números en Dos Partes
Cree un programa que permita leer 20 números y posteriormente los muestre en dos partes, la primera mitad desde la posición 10 hasta la primera y la segunda mitad desde la posición 20 a la número 11. Solo utilice ciclos “for”.
#include <stdio.h>
#include <conio.h>
int main() {
int numeros[20];
for (int i = 0; i < 20; i++) {
numeros[i] = i + 1;
}
for (int i = 0; i < 20; i++) {
printf("Numeros %i \n", numeros[i]);
}
printf("Primera parte: \n");
for (int i = 9; i >= 0; i--) {
printf("Numeros %i \n", numeros[i]);
}
printf("Segunda parte: \n");
for (int x = 19; x >= 10; x--) {
printf("Numeros %i \n", numeros[x]);
}
getch();
return 0;
}
Ejercicio 10: Intercalar 5 Números en un Arreglo
Cree un programa que permita leer 5 números, y posteriormente permita leer otros 5, pero éstos últimos 5 números deben intercalarse entre los otros 5 números. Debe almacenar todo en un mismo arreglo. Al final debe mostrar los 10 números ingresados. (Si primero ingresa: 1, 2, 3, 4, 5 y luego ingresa 6, 7, 8, 9, 10, al final debería quedar: 1, 6, 2, 7, 3, 8, 4, 9, 5, 10)
#include <stdio.h>
#include <conio.h>
int main() {
int grupo1[5], grupo2[5];
int resultado[10];
for (int i = 0; i < 5; i++) {
printf("Posicion[%i] para el primer grupo: ", i);
scanf("%i", &grupo1[i]);
}
for (int x = 0; x < 5; x++) {
printf("Posicion[%i] para el segundo grupo: ", x);
scanf("%i", &grupo2[x]);
}
int indiceResultado = 0;
for (int j = 0; j < 5; j++) {
resultado[indiceResultado++] = grupo1[j];
resultado[indiceResultado++] = grupo2[j];
}
printf("Resultado intercalado: \n");
for (int k = 0; k < 10; k++) {
printf("%i \n", resultado[k]);
}
getch();
return 0;
}
Ejercicio 11: Autogenerar y Mostrar 100 Números Pares
Genere un programa que permita autogenerar 100 primeros números pares y los guarde en un arreglo y finalmente los muestre por pantalla.
#include <stdio.h>
#include <conio.h>
int main() {
int grupo1[100];
int contador = 0;
for (int i = 0; i < 200; i++) {
if (i % 2 == 0) {
grupo1[contador] = i;
contador++;
}
}
for (int x = 0; x < 100; x++) {
printf("%i \n", grupo1[x]);
}
getch();
return 0;
}
Ejercicio 12: Llenar un Arreglo con 200 Números Impares
Escriba un programa que llene un arreglo con los primeros 200 números impares.
#include <stdio.h>
#include <conio.h>
int main() {
int grupo1[200];
int contador = 0;
for (int i = 0; i < 400; i++) {
if (i % 2 != 0) {
grupo1[contador] = i;
contador++;
}
}
for (int x = 0; x < 200; x++) {
printf("%i \n", grupo1[x]);
}
getch();
return 0;
}
Ejercicio 13: Leer y Mostrar 5 Nombres
Cree un programa que lea 5 nombres y luego los muestre por pantalla. Utilice arreglos.
#include <stdio.h>
#include <conio.h>
#include <string.h>
int main() {
char nombres[5][50];
for (int i = 0; i < 5; i++) {
printf("Ingrese un nombre: ");
scanf("%s", nombres[i]);
}
for (int x = 0; x < 5; x++) {
printf("El nombre leido es: %s \n", nombres[x]);
}
getch();
return 0;
}