Sunteți pe pagina 1din 6

#include <stdio.

h>//libreria principal

#include <conio.h>//libreria de entrada y salida de datos

int insertar_sec();//variable de tipo entero con nombre

int insertar_int();

int desplegar();//variable entera de despliegue

int busqueda_sec();

int ordenar();

int dato[6], i=0, j=0, pos, pos_dis;/*se nombran las variables y se asigna un numero el cual

representa su valos, incluyendo el "dato"

que conformara parte de un arreglo*/

int aux=0, veces=0;

int opc;

int main(){ // se despliega el inicio de el programa

int num=0;//la variable num se iguala a el valor numerico 0

do{ //el programa realizara lo que especifica "do"

printf("MANEJO DE ARREGLOS LINEALES \n");//se imprime el mensaje especificado y se deja


un espacio

printf("\n");//se asigna un espacio entre el mensaje anterior

printf("Menu de opciones \n");// se imprime un mensaje a el usuario e igual se asigna


unespacio

printf("\n");// espacio asignado

printf("1. Insertar datos secuenciales \n");// se imprime un mensaje a el usuario para insertar
los datos secuenciales e igual se asigna un espacio

printf("2. Insertar datos interposicionalmente \n");//se imprime un mensaje a el usuario para


insertar datos dentro de posicion e igual se asigna un espacio

printf("3. Desplegar valores \n");// se imprime un mensaje a el usuario e igual se asigna un


espacio

printf("4. Ordenamiento \n");// se imprime un mensaje a el usuario para ordenar los datos e
igual se asigna un espacio

printf("5. Busqueda secuencial \n");/* se imprime un mensaje a el usuario para realizar una

busqueda secuencial e igual se asigna un espacio*/

printf("6. Busqueda binaria \n");// se imprime un mensaje a el usuario para realizar una
busqueda binaria e igual se asigna un espacio
printf("7. Eliminacion de datos \n");// se imprime un mensaje a el usuario sobre los datos que
desea eliminar e igual se asigna un espacio

printf("8. Salir \n\n");/// se imprime un mensaje a el usuario mostrando si quiere salir del
programa

printf("Teclea lo que deseas hacer: ");// se imprime un mensaje a el usuario mostrando si


quiere salir del programa

scanf("%d",&num);// realizara la funcion de leer varios tipos de datos a la vez

switch(num){ /*La switch declaración nos permite ejecutar el bloque de código entre

muchas alternativas.

"num" evalúa una vez y se compara con los valores de cada caseetiqueta.*/

case 1: insertar_sec();//se ejeecuta case1 hasta break

break;

case 2: insertar_int();//se ejeecuta case2 hasta break

break;

case 3: desplegar();//se ejeecuta case3 hasta break

break;

case 4: ordenar();// de acuerdo a el programa visto en clase se debe pasar por alto los"case"
siguientes

break;

case 5: busqueda_sec();

break;/*

case 6: busqueda_bin();

break;

case 7: eliminar();

break; */

}while(num<8);// se realizara "mientras" "num" sea menor a 8

int insertar_sec(){ // la variable insertar inicia la accion de programa a realizar

if(i<=5){// si el iterador es menor o igual a 5 se realizara:

printf("Teclea el val: ");// se imprimira el mensaje de acuerdo a la condicion

scanf("%i", &dato[i]);//la funcion leera el iterador de el dato del arreglo


i=i+1;// el iterador aumentara un valor

}else{// si no se cumple la condicion

printf("El arreglo ya esta lleno");// imprimira el mensaje siguiente pues la condicion no se


cumplio

getch();//Esta función lee caracteres de los datos de el arreglo

}//cierre de condicion

int insertar_int(){//la variable insertar inicia la accion de programa a realizar

if(dato[0]==NULL){// si, el dato es igual null

printf("Teclea el valor");//se imprimira el mensaje

scanf("%i",&dato[i]);// de igual manera se leera el dato

pos_dis=pos_dis+1;//la variable se igualara a si misma pero aumentando un valor numerico

}else{// si no se cumple la condicion

if(pos_dis<=5){ // en caso de no cumplirse la condicion se realizara la funcion "si" sobre


"pos_dis" debe ser menor o igual a 5

i=pos_dis;// por utlitimo el iterador sera igual a la variable pos_dis

}// cierre de ciclo

do{// se inicia do

printf("inserta posicion deseada 0 - %i", pos_dis);// imprimir el mensaje siguiente y se guarda


en el iterador

scanf("%i",&pos);// el valor se leera en el programa sobre pos

}while(pos>i);// mientras pos sea menor a el iterador

do{//realizara la funcion si pos es menor a el iterador

dato[i]=dato[i-1];// los datos numericos se especifican y se resta 1 valor a el iterador

i=i-1;// el iterador sera igual a su mismo valor restando 1

}while(i>pos);// mientras el iterador sea menos a pos

printf("Teclea el valor");//se imprimira el siguiente mensaje mientras la condicion se cumpla

scanf("%i",&dato[pos]);// los datos se leen y guardan en el programa

pos_dis=pos_dis+1;// aumentara pos_dis un valor de acuerdo a su condicion

}
int desplegar(){// el despliegue de la variable realiza la accion de el programa siguiente
dependiendo la opcion de el usuario

int j=0;// el valor j se igualara a 0

do{//hacer

printf("%i[%i]",j,dato[j]);// imprimir los svalores guardados de el iterador incluyendo las


variables igualadas

printf("\n");// un espacio se imprime

j=j+1;// la variable j aumentara 1 valor

}while(j<=5);// y se realizara mientras j sea igual o menor a 5

int ordenar(){//inicia accin de la variable

do{//hacer

printf("ingrse su ordenamiento\n");// hacer la impresion de el mensaje y dejar espacio

printf("del numero menor al numero mayor");//mostrar mensaje

printf("del numero mas grande al mas chico");//mostrar mensaje

printf("ingrese lo que desea hacer "); //mostrar mensaje

scanf("%i", & opc); //lee lafuncion de el iterador y opc

if(opc==1){// si opc es igual a 1

i=0;//el valor de el iterador es 0

do{//hacer

do{//hacer

if(dato[i]>dato[i+1]){//si dato es menor a el iterador aumentara q

aux=dato[i];//el valor aux es el mismo de el dato iterado

dato[i]=dato[i+1];// el dato aumentara un valor

dato[i+1]=aux;// el valor sera similar a aux

i=i+1;// el iterador aumenta 1 valor

}while(i<5);// mientras sea menor a 5

i=0;// el iterador se igualara a 0

veces=veces+1;// y "veces" aumentara su valor

}while(veces<5);//mientras la variable sea menor a 5

}else{//si no se cumple
if(opc==2){// realizara la funcion "si" opc sera igual a 2

i=0;// y el iterador se iguala a 0

do{//hacer

do{//realizar

if(dato[i]<dato[i+1]){// entrada if dato con valor de iterador es menor a el dato con un


valor aumentado en su iterador

aux=dato[i];// sera igual a el valor dato

dato[i]=dato[i+1];// aumentara un valor en su dato

dato[i+1]=aux;// y sera igual a aux

i=i+1;// el iterador nuevamente aumenta

}while(i<5);//y sera mientras sea menor a 5

i=0;// despues se igula a 0

veces=veces+1;// y la variable aumenta 1 valor

}while(veces<5);// mientras veces sea menor a 5

i=0;// igualara a 0

}while(opc>2);//mientras opc sea menor a 2

int busqueda_sec(){// inicia la busqueda secuencial

int valor=0, veces=1,i=0,dato[0];// se declaran las variables

printf("ingrese el valor que desea buscar: "); //preguntando el valor que se desea
buscar

scanf("%i",valor); //guardando el valor dado en la variable "valor"

do{//hacer

if (dato[i]==valor){//realizar si el dato es igual a el valor e imprimira el siguiente


mensaje

printf("El valor fue encontrado en la posicion %",i);//mostrara el


resultado de el iterador

printf("El arreglo fue visitado %veces",veces);

}
i=i+1;// aumentara 1 valor

veces=veces+1;//aumentara un valor la variable

}while(i<=9);//mientras el iterador sea menor o igual a 9

if(veces>9){//si la variable veces es menor que 9

printf("no se encontro el valor en el arreglo ");// imprimira lo siguiente..

printf("El arreglo fue visitado % veces",veces-1);//se mostrara el resultado


junto con el mensaje de el valor restado "veces"

return 0;

S-ar putea să vă placă și