Está en la página 1de 10

//Juan Diego Marulanda Ballesteros

#include <stdio.h>

#include <stdlib.h>

#include <stdbool.h>

#include <time.h>

#include <math.h>

/* run this program using the console pauser or add your own getch, system("pause") or input
loop */

int main() {

int opc;

do{

printf("\tMenu de ejercicios\n");

printf("1. ejercicio N.o 1");

printf("2. ejercicio N.o 2");

printf("3. ejercicio N.o 3");

printf("4. ejercicio N.o 4");

printf("Ingese el ejercicio que desea ver");

scanf("%d",&opc);

switch(opc){

case 1:{

srand(time(NULL));
int n,promedio=0;

printf("Defina el tamaño de su vector: ");

scanf("%d",&n);

int arreglo[n];

for (int i = 0; i < n; i++) {

int num=rand()%31;

arreglo[i]=num;

promedio+=num;

for (int i = 0; i < n; i++){

printf("%d \t", arreglo[i]);

printf("\n");

promedio=promedio/n;

printf("el promedio es: %i\n", promedio);

int mayor=0;

int menor=0;

for (int i = 0; i < n; i++){

if (arreglo[i]>promedio){

mayor++;

} else{

menor++;

int array_2[mayor];

int i=0;

while (i<mayor) {

for (int a = 0; a < n; a++) {

if (arreglo[a] >= promedio){


array_2[i]=arreglo[a];

i++;

printf("EL numero de numeros menores es: %i \n", menor);

for (int i = 0; i < mayor; i++){

printf("%i ", array_2[i]);

break;

case 2:{

int numero = 0;

printf("Ingrese un número: ");

scanf("%d", &numero);

int temp = numero;

int digitos = 0;

while (temp != 0) {

temp /= 10;

digitos++;

printf("El número %d se descompone en %d dígitos.\n", numero, digitos);*/


break;

case 3:{

double numeros[10];

double suma = 0;

int contador = 0;

// Leer los valores del usuario y calcular la suma

for (int i = 0; i < 10; i++) {

printf("Ingrese el número %d: ", i + 1);

scanf("%lf", &numeros[i]);

suma += numeros[i];

// Calcular el promedio

double promedio = suma / 10;

// Contar cuántos números son menores o iguales al promedio

for (int i = 0; i < 10; i++) {

if (numeros[i] <= promedio) {

contador++;

// Crear un arreglo para almacenar los números menores o iguales al promedio

double menores_o_iguales[contador];
int index = 0;

// Llenar el arreglo con los números menores o iguales al promedio

for (int i = 0; i < 10; i++) {

if (numeros[i] <= promedio) {

menores_o_iguales[index] = numeros[i];

index++;

// Imprimir el promedio y los números menores o iguales

printf("El promedio es: %lf\n", promedio);

printf("Hay %d números menores o iguales al promedio.\n", contador);

printf("Números menores o iguales al promedio: ");

for (int i = 0; i < contador; i++) {

printf("%lf ", menores_o_iguales[i]);

printf("\n");

break;

case 4:{

int n;

printf("Ingrese el tamaño del vector: ");

scanf("%d", &n);
int arr[n];

// Llenar el arreglo

printf("Llenando el vector con %d elementos:\n", n);

for (int i = 0; i < n; i++) {

printf("Ingrese el elemento %d: ", i + 1);

scanf("%d", &arr[i]);

// Mostrar el contenido del arreglo

printf("Contenido del vector:\n");

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

printf("\n");

// Eliminar un dato específico

int datoAEliminar;

printf("Ingrese el dato a eliminar: ");

scanf("%d", &datoAEliminar);

int i, j;

for (i = 0; i < n; i++) {

if (arr[i] == datoAEliminar) {

// Desplaza los elementos a la izquierda para llenar el espacio.

for (j = i; j < (n - 1); j++) {

arr[j] = arr[j + 1];

n--;
i--; // Verifica el elemento actual nuevamente después del desplazamiento.

// Mostrar el arreglo resultante después de la eliminación

printf("Vector nuevo después de eliminar %d:\n", datoAEliminar);

for (int i = 0; i < n; i++) {

printf("%d ", arr[i]);

printf("\n");

break;

case 4:{

int vector[20];

int lista1[20], lista2[20], lista3[20], listaPrimos[20];

int count1 = 0, count2 = 0, count3 = 0, countPrimos = 0;

bool esPrimo(int num) {

if (num <= 1) return false;

if (num <= 3) return true;

if (num % 2 == 0 || num % 3 == 0) return false;

for (int i = 5; i * i <= num; i += 6) {

if (num % i == 0 || num % (i + 2) == 0) return false;

return true;

}
// Llenar el vector con números aleatorios en el rango de 0 a 150

for (int i = 0; i < 20; i++) {

vector[i] = rand() % 151;

if (vector[i] >= 0 && vector[i] <= 50) {

lista1[count1] = vector[i];

count1++;

} else if (vector[i] >= 51 && vector[i] <= 100) {

lista2[count2] = vector[i];

count2++;

} else if (esPrimo(vector[i])) {

lista3[count3] = vector[i];

count3++;

// Imprimir las cuatro listas (vectores)

printf("Vector original:\n");

for (int i = 0; i < 20; i++) {

printf("%d ", vector[i]);

printf("\n");

printf("Lista 1 (Pares en el rango 0-50):\n");

for (int i = 0; i < count1; i++) {

printf("%d ", lista1[i]);

printf("\n");
printf("Lista 2 (Impares en el rango 51-100):\n");

for (int i = 0; i < count2; i++) {

printf("%d ", lista2[i]);

printf("\n");

printf("Lista 3 (Primos mayores a 100):\n");

for (int i = 0; i < count3; i++) {

printf("%d ", lista3[i]);

listaPrimos[countPrimos] = lista3[i];

countPrimos++;

printf("\n");

// Leer números primos adicionales desde la entrada

int numeroPrimo;

printf("Ingrese números primos adicionales (termine con -1):\n");

while (1) {

scanf("%d", &numeroPrimo);

if (numeroPrimo == -1) {

break;

listaPrimos[countPrimos] = numeroPrimo;

countPrimos++;

// Imprimir la lista de números primos

printf("Lista de números primos:\n");


for (int i = 0; i < countPrimos; i++) {

printf("%d ", listaPrimos[i]);

printf("\n");

break;

} while (opcion != 0);

return 0;

También podría gustarte