Sunteți pe pagina 1din 24

CONCATENAR v3[j] = v2[i];

#include<stdio.h> j++;
#include<stdlib.h> }
#include<conio.h> }

void llenar(int v[], int n); void llenar(int v[], int n)


void imprimir(int v[], int n); {
void concatenar(int v1[],int v2[],int v3[],int n); int i;

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


{ {
int n; printf("Digite el valor de la posicion %d ", i);
printf("\n ingrese el tamano del vector? "); scanf("%d", &v[i]);
scanf("%d",&n); }
}
int v1[n],v2[n],v3[n*2];
void imprimir(int v[], int n)
printf("\nLlenado del vectorn No 1: \n"); {
llenar(v1,n); int i;
printf("\nLlenado del vectorn No 2: \n"); printf("\n");
llenar(v2,n); for (i=0; i<n; i++)
{
printf("%d, ", v[i]);
printf("\nVector Uno: "); }
imprimir(v1,n); }
printf("\nVector Dos: ");
imprimir(v2,n); EL MAYOR DE DOS VECTORES
concatenar(v1,v2,v3,n);
printf("\nVector concatenado"); Llenar dos vectores (A y B) de cualquier
imprimir(v3,n*2); longitud (no necesariamente de
getch(); longitudes iguales); una vez hecho esto
} imprimir y determinar cual de los
void concatenar(int v1[],int v2[],int v3[],int n) dos vectores tiene el número mayor.
{
int i,j; #include<stdio.h>
#include<conio.h>
j=0;
for(i=0;i<n;i++) void llenar(int v[], int n);
{ int mayor(int v1[], int n);
v3[j] = v1[i];
j++; main()
} {
for(i=0;i<n;i++) int n1,n2,may1,may2;
{
printf("\ndigite la longitud del primer vector }
: "); }
scanf("%d",&n1); return (may);
printf("\ndigite la longitud del segundo }
vector : ");
scanf("%d",&n2); ELIMINAR UN VALOR DEL VECTOR

int A1[n1],A2[n2]; #include<stdio.h>


printf("\n\n los valores del primer #include<stdlib.h>
vector:\n"); #include<conio.h>
llenar(A1,n1); void llenar(int v[], int n);
printf("\n\n los valores del segundo void imprimir(int v[], int n);
vector:\n"); int eliminar(int v1[], int n, int x);
llenar(A2,n2); main()
may1= mayor(A1,n1); {
may2= mayor(A2,n2); int n,t,x;;
if(may1 >= may2) printf("\n ingrese la longitud del vector: ");
printf("\nel valor mayor se encuentra en el scanf("%d",&n);
primer vector y vale %d\n",may1); int v1[n];
else llenar(v1,n);
printf("\nel valor mayor se encuentra en el printf("\n VALORES DEL VECTOR \n");
segundo vector y vale %d\n",may2); imprimir(v1,n);
printf("\n ingrese el valor a eliminar?");
getch(); scanf("%d",&x);
} t = eliminar(v1,n,x);
void llenar(int v[], int n) printf("\n VALORES DEL NUEVO VECTOR \n");
{ imprimir(v1,t);
int i; getch();
for(i=0;i<n;i++) }
{ void llenar(int v[], int n)
printf("\n dijite los datos del vector a [%d]:\t {
",i); int i;
scanf("%d",&v[i]); printf("\n LLENADO DEL VECTOR\n");
} for(i=0;i<n;i=i+1)
} {
int mayor(int v1[], int n) printf("\n Valor No [%d]: ",i);
{ scanf("%d",&v[i]);
int may, i; }
may = v1[0]; }
for(i=1;i<n;i++) void imprimir(int v[], int n)
{ {
if(v1[i] > may) int i;
{ for(i=0;i<n;i=i+1)
may = v1[i]; {
printf("%3d, ",v[i]); int n,m,pos;
} srand(time(NULL));
}
int eliminar(int v1[], int n, int x) // x numero a printf("tamaño del vector uno? ");
buscar scanf("%d",&n);
{
int i,j; printf("tamaño del vector dos? ");
scanf("%d",&m);
for(i=0;i<n;i=i+1) int v1[n],v2[n+m];
{
if(v1[i]==x) // si en el vector esta el numero printf("\nValores del primer vector: \n");
buscado llenar(v1,n);
{
n=n-1; // se disminuye el tamaño por haber printf("\nValores del segundo vector: \n");
eliminado un valor llenar(v2,m);
for(j=i;j<n;j=j+1) // recorre el vector desde la
posicion i hasta el final printf("\nEn que posicion de v2 desea
{ insertar (0 a %d)? ",m-1); //ultima posicion m-
v1[j]=v1[j+1]; // correr valores un puesto 1
para eliminar una posicion (el valorbuscado) scanf("%d",&pos);

} printf("\nLos valores del primer vector son:


i=i-1; // si hay valores adyacentes se revisa la \n");
misma posicion por si hay valoresadyacentes imprimir(v1,n);
}
} printf("\nLos valores del segundo vector son:
return(n); // retorna el nuevo tamaño puede \n");
cambiar puede haber disminuido por los imprimir(v2,m);
elementoseliminados
} insertar(v1,v2,n,m,pos);

INSERTAR V1 EN V2 printf("\nLos nuevos valores del segundo


vector son: \n");
#include<stdio.h> imprimir(v2,n+m);
#include<stdlib.h> printf("\n");
#include<time.h> system("pause");

void llenar (int v[], int n); }


void imprimir(int v[], int n);
void insertar(int v1[], int v2[], int n, int m, int void llenar ( int v[], int n)
pos); {
int i;
main() for (i=0; i<n; i++)
{ {
v[i]=rand()%10; void llenar(int v[], int n);
} void imprimir(int v[], int n);
} void intercalar(int v1[],int v2[],int v3[],int n);

void imprimir (int v[], int n) main()


{ {
int i; int n;
for (i=0; i<n; i++) printf("\n digite la longitud fel vector? ");
{ scanf("%d",&n);
printf ("%3d, ", v[i]);
} int v1[n],v2[n],v3[n*2];
}
printf("\nLlenado del vectorn No 1: \n");
void insertar(int v1[], int v2[], int n, int m, int llenar(v1,n);
pos) printf("\nLlenado del vectorn No 2: \n");
{ llenar(v2,n);
int i,j ;

j = m+n-1; // es la ultima posicion del vector printf("\nVector Uno: ");


final (tamaño m+n) imprimir(v1,n);
for(i=m-1;i>=pos;i--) // corre los valores para printf("\nVector Dos: ");
dejar espacio para el vector v1 imprimir(v2,n);
{ intercalar(v1,v2,v3,n);
v2[j] = v2[i]; printf("\nVector intercalado");
j--; imprimir(v3,n*2);
} getch();
j=pos; // la posicion de insercion }
//printf("\nLos valores corridos del segundo
vector son: \n"); void intercalar(int v1[],int v2[],int v3[],int n)
//imprimir(v2,m+n); {
for(i=0;i<n;i++) // mete los valores de v1 en int i,j;
v2 a partir de la posicion solicitad
{ j=0;
v2[j] = v1[i]; // i maneja a v1 y j maneja a v2 for(i=0;i<n;i=i+1)
j++; {
} v3[j]=v1[i];
} j = j + 1;
v3[j]=v2[i];
INTERCALAR j = j + 1;
}
#include<stdio.h> }
#include<stdlib.h> void llenar(int v[], int n)
#include<conio.h> {
int i;
imprimir(v,n);
for (i=0; i<n; i++)
{ invertir(v,v2,n);
printf("Digite el valor de la posicion %d ", i);
scanf("%d", &v[i]); printf("\n \n VECTOR INVERTIDO\n\n");
}
} imprimir(v2,n);

void imprimir(int v[], int n) getch();


{
int i;
printf("|"); }
for (i=0; i<n; i++)
{ void llenar(int V[], int n)
printf("%3d| ", v[i]); {
} int i;
}
for(i=0; i<n; i=i+1)
INVERTIR {
printf("\n valor[%d]:", i);
#include<stdio.h> scanf("%d",&V[i]);
#include<conio.h> }
}
void llenar(int V[] , int n);
void imprimir(int V[], int n)
void imprimir(int V[], int n); {
int i;
void invertir(int v[], int v2[],int n); printf("|");
for(i=0; i<n; i=i+1)
{
printf(" %3d|",V[i]);
main()
{ }
int n; }
printf ("\n ingrese la longitud del void invertir(int v[],int v2[], int n)
vector: "); {
scanf("%d",&n); int i,j,temp;
j=n-1;
int v[n],v2[n] ; // decara el vector de n for(i=0;i<n;i++)
posiciones {
v2[i]=v[j];
j--;
llenar(v,n); }
printf( "\n\n VECTOR ORIGINAL\n\n"); }
INVERTIR RANDOM printf("%2d, ",v[i]);
}
#include <conio.h> }
#include <stdio.h>
#include <stdlib.h> void invertir(int v[], int n)
#include <time.h> {
int i,j,temp;
void llenar(int v[], int n);
void imprimir(int v[], int n); j = n-1;
void invertir(int v[], int n); for(i=0;i<n/2;i++)
main() {
{ temp = v[i];
int n; v[i] = v[j];
v[j] = temp;
printf("\nCuantos valores desea usar? "); j--;
scanf("%d",&n); }
int v[n]; }

srand(time(NULL)); INVERIT OTRA FORMA


printf("\nVECTOR INICIAL\n");
llenar(v,n);
imprimir(v,n); #include<stdio.h>
invertir(v,n); #include<conio.h>
printf("\nVECTOR INVERTIDO\n"); #include<stdlib.h>
imprimir(v,n);
void imprimir(int v[5]);
getch(); void invertir(int v[5]);
}
main()
void llenar(int v[], int n) {
{
int i; printf("\nPROGRAMA PARA CREAR UN
for(i=0;i<n;i++) VECTOR INVERTIDO\n");
{
v[i] = rand()%50; int v[5]={1,9,4,3,1};
}
} printf("\n valores del primer vector: \n");
imprimir(v);
void imprimir(int v[], int n) invertir(v);
{ printf("\n Valores del vector invertirdo:
int i; \n");
imprimir(v);
for(i=0;i<n;i++)
{ }
void invertir(int v[5]) void llenar(int v[], int n);
{ void imprimir(int v[], int n);
int i,j,aux; void paresimpares(int v[],int n);

j=5-1; main()
{
for(i=0;i<j;i++) int n;
{
aux=v[i]; printf("\n ingrese el tamano del vector:");
scanf("%d",&n);
v[i]=v[j];
int v[n];
v[j]=aux;
j=j-1; printf("\n digite los datos del vector: ");
llenar(v,n);
} paresimpares(v,n);
getch();
} }

void paresimpares(int v[],int n)


{
void imprimir(int v[5]) int i;
{
int i; int cp=0, ci=0,sp=0,si=0;
printf("| "); float prompa,promimp;
for(i=0;i<5;i++) for(i=0;i<n;i=i+1)
{ {
printf(" %d |", v[i]); if (v[i]%2==0) // para saber si el valor en esa
posicion es par o impar
} {
} cp=cp+1;
sp=sp+v[i];
PARES E IMPARES }
else
Dado un vector de tamano n, n dado por {
teclado, hacer un programa para hallar ci=ci+1;
la suma de todos los valores pares y todos los si=si+v[i];
valores impares, por separado, }
y decir cuantos hubo de cada tipo. }
if(cp!=0)
#include<stdio.h> prompa=(float)sp/cp; // se forza una
#include<stdlib.h> variable entera para que se comporte como
#include<conio.h> float
else SUMA 2 VECTORES
prompa=0;
if(ci!=0) // como hay dos ordenes lleva llaves // suma los valores de 2 vectores posicion a
{ posicion y luego haya el total
promimp=si; // antes de la division se
pasa valor entero a un float #include<stdio.h>
promimp=promimp/ci; #include<stdlib.h>
} #include<conio.h>
else // como es una sola orden se omiten las
llaves void llenar(int v[], int n);
promimp=0; void imprimir(int v[], int n);
int suma(int v1[],int v2[],int v3[],int n);
printf(" \n cantidad de pares %d ",cp);
printf(" \n cantidad de impares %d ",ci); main()
printf(" \n suma de pares %d ",sp); {
printf(" \n suma de impares %d ",si); int n,x;
printf(" \n el promedio de impares %f printf("\n digite tamano del vector? ");
",promimp); scanf("%d",&n);
printf(" \n el promedio de pares %f
",prompa); int v1[n],v2[n],v3[n]; // declarar los vectores

printf("\n Llenado del vectorn No 1: \n");


} llenar(v1,n);
void llenar(int v[], int n) printf("\n Llenado del vectorn No 2: \n");
{ llenar(v2,n);
int i;

for (i=0; i<n; i++) printf("\nVector Uno: ");


{ imprimir(v1,n);
printf("\n valor [%d] : ", i); printf("\nVector Dos: ");
scanf("%d", &v[i]); imprimir(v2,n);
}
} x=suma(v1,v2,v3,n);
printf("\nVector suma ");
void imprimir(int v[], int n) imprimir(v3,n);
{ printf("\n la suma de todos los valores del
int i; vector 3 es: %d",x);
printf("|");
for (i=0; i<n; i++) getch();
{ }
printf("%3d| ", v[i]);
} int suma(int v1[],int v2[],int v3[],int n)
} {
int i,sum=0; // sum es una variable local cuyo void imprimir(int V[],int n);
dato sera utilizado en el main
// como el dato se necesita utilizar en otra void espejo(int v[],int esp[], int n); // llena el
parte y la informacion se pierde al cerrarse la vector con los numeros espejos
funcion por eso hay que retornar
main()
for(i=0;i<n;i=i+1) {
{ int n;
v3[i]=v1[i]+v2[i]; printf ("\n ingrese el tamano del
vector: ");
sum=sum+v3[i]; scanf("%d",&n);
}
return(sum); int v[n],esp[n]; // decara el vector de n
posiciones
}
void llenar(int v[], int n) llenar(v,n);
{
int i; imprimir(v,n); // imprime el vector original

for (i=0; i<n; i++) espejo(v,esp,n); // llamo la funcion que


{ crea el vector espejo
printf(" valor [%d] :", i);
scanf("%d", &v[i]); printf("\n \n Vector espejo\n");
}
} imprimir(esp,n); // imprimo el vector
espejo
void imprimir(int v[], int n)
{ getch();
int i;
printf("|"); }
for (i=0; i<n; i++)
{ void llenar(int V[], int n)
printf("%3d| ", v[i]); {
} int i;
}
for(i=0; i<n; i=i+1)
VECTOR ESPEJO {
printf("\n Ingrese el dato de la posicion
#include<stdio.h> %d:\t", i);
#include<conio.h> scanf("%d",&V[i]);
}
void llenar(int V[], int n);// un vector tipo }
entero sin tamano especifico
void imprimir(int V[],int n)
{
int i; llenar(v,n);

for(i=0; i<n; i=i+1) printf("\n Vector original\n");


{
printf("\n valor %d: %d",i+1,V[i]); imprimir(v,n);
}
} espejo(v,vespejo,n);

void espejo(int v[],int esp[],int n) printf("\n \n Vector espejo\n");


{
int i, dig; imprimir(vespejo,n);
for (i=0;i<n;i=i+1)
{ getch();
esp[i]=0;
while(v[i]>0) }
{
dig=v[i]%10; void llenar(int V[],int n)
{
v[i]=v[i]/10; int i;
esp[i]=(esp[i]*10)+dig;
for(i=0; i<n; i=i+1)
} {
} printf("\n valor[%d]:", i);
scanf("%d",&V[i]);
} }
}
VECTOR ESPEJO 2
void imprimir(int V[],int n)
#include<stdio.h> {
#include<conio.h> int i;
printf("|");
void llenar(int V[],int n); for(i=0; i<n; i=i+1)
void imprimir(int V[],int n); {
int invertir(int n); printf(" %3d|",V[i]);
void espejo(int v[],int vespejo[],int n); }
}
main() int invertir(int n)
{ {
int n;
printf ("\n digite el tamano del int dig, sum=0;
vector");
scanf("%d",&n); while(n>0)
int v[n], vespejo[n]; {
dig=n%10; {
printf ("\n vector valores pares");
n=n/10; imprimir (vp,p);
}
sum=(sum*10)+dig; else
} {
printf ("\n No hay valores pares");
return(sum); }
} if (i>0)
{
void espejo(int v[], int vespejo[],int n) printf ("\n vector valores impares");
{ imprimir (vi,i);
int i; }
else
for (i=0; i<n; i=i+1) {
{ printf ("\n No hay valores impares");
}
vespejo[i]=invertir(v[i]); getch();
}
void llenar (int v[], int n)
} {
} int i;
for (i=0;i<n;i++)
VECTORES PARES E IMPARRES {
printf ("\n valores vector
#include<conio.h> [%d]:",i);
#include<stdio.h> scanf ("%d", &v[i]);
void llenar (int v[], int n); }
void imprimir (int v[], int n); }
int paresimpares (int v[], int vi[], int vp[],int void imprimir (int v[], int n)
n); {
main () int i;
{ printf (" | ");
int i,p,n; for (i=0;i<n;i++)
printf ("\n Ingrese la longitud del vector:"); {
scanf ("%d",&n); printf (" %3d|",v[i]);
int v[n],vp[n],vi[n]; }
printf ("\n llenado del vector"); }
llenar (v,n); int paresimpares (int v[], int vi[], int vp[], int
printf ("\n valores del vector"); n)
imprimir (v,n); {
p=paresimpares (v,vi,vp,n); int i,sp=0,cp=0,si=0,ci=0;
i=n-p; for (i=0;i<n;i=i+1)
if (p>0) {
if (v[i]%2==0) imprimir (v,n);
{ paresimpares (v,vi,vp,n);
sp=sp+v[i]; }
vp[cp]=v[i];
cp=cp+1; void llenar (int v[], int n)
{
} int i;
else for (i=0;i<n;i++)
{ {
si=si+v[i]; printf ("\n valores vector
vi[ci]=v[i]; [%d]:",i);
ci=ci+1; scanf ("%d", &v[i]);
}
}
} void imprimir (int v[], int n)
} {
printf ("\n la suma de los valores pares es: int i;
%d", sp); printf (" | ");
printf ("\n la cantidad de valores pares es: for (i=0;i<n;i++)
%d", cp); {
printf ("\n la suma de valores impares es: printf (" %3d|",v[i]);
%d", si); }
printf ("\n la cantidad de valores impares }
es: %d", ci); void paresimpares (int v[], int vi[], int vp[], int
return (cp); n)
} {
int i,sp=0,cp=0,si=0,ci=0;
VECTORES PARES E IMPARES for (i=0;i<n;i=i+1)
{
#include<conio.h> if (v[i]%2==0)
#include<stdio.h> {
void llenar (int v[], int n); sp=sp+v[i];
void imprimir (int v[], int n); vp[cp]=v[i]; // cp controla la posicion
void paresimpares (int v[], int vi[], int vp[],int del vector y se guarda en el vector de pares
n); cp=cp+1;
main ()
{ }
int i,p,n; else
printf ("\n Ingrese la longitud del vector:"); {
scanf ("%d",&n); si=si+v[i];
int v[n],vp[n],vi[n]; vi[ci]=v[i];
printf ("\n llenado del vector"); ci=ci+1;
llenar (v,n);
printf ("\n valores del vector");
} void llenar(int v[], int n);
} void imprimir(int v[], int n);
printf ("\n la suma de los valores pares es: int veces(int v[], int n, int x); // x valor buscado
%d", sp);
printf ("\n la cantidad de valores pares es: main()
%d", cp); {
printf ("\n la suma de valores impares es: int n,vez,x;
%d", si);
printf ("\n la cantidad de valores impares printf("\n longitud del vector: ");
es: %d", ci); scanf("%d",&n);
if (cp>0)
{ int v[n];
printf ("\n vector valores pares");
imprimir (vp,cp); llenar(v,n);
} printf("\nCual numero desea buscar en el
else vector? ");
{ scanf("%d",&x);
printf ("\n No hay valores pares"); imprimir(v,n);
} vez = veces(v,n,x);
if (ci>0) printf("\n\nEl valor buscado esta %d veces
{ ",vez);
printf ("\n vector valores impares"); getch();
imprimir (vi,ci); }
}
else void llenar(int v[], int n)
{ {
printf ("\n No hay valores impares"); int i;
}
getch(); printf("\nLLENADO DEL VECTOR\n");
} for(i=0;i<n;i=i+1)
{
X EN UN VECTOR printf("\nValor No [%d]: ",i);
scanf("%d",&v[i]);
/*Llenar un vector de N posiciones (N dado }
por teclado) y posteriormente solicitar un }
numero “X” para determinar cuantas veces
esta “X” repetido dentro del vector.*/ void imprimir(int v[], int n)
{
int i;
printf("los datos del vector:\n");
#include<stdio.h>
#include<stdlib.h> printf("===============================
#include<conio.h> ==========\n");
printf("v = ");
for (i=0; i<n; ++i) imprimir(v, n);
{
getch();
printf("[%d] ",v[i]); }

} void burbuja(int v[], int n)


} {
int i,j,aux;
for(i=0;i<n-1;i++)
int veces(int v[], int n, int x) {
{ for(j=i+1;j<n;j++)
int i,cont = 0; // cont =contador de las veces {
numero repetido if(v[i]<v[j])
{
for(i=0;i<n;i=i+1) aux = v[i];;
{ v[i]=v[j];
if( v[i]==x ) // si lo que esta en el vector es v[j]=aux;
igual al numero buscado }
{ }
cont = cont + 1; // incrementa el contador }
} }
}
return(cont);
} void llenar(int v[], int n)
{
BURBUJA int i;

#include<stdio.h> for (i=0; i<n; i++)


#include<conio.h> {
void llenar(int v[], int n); printf("\n valor [%d] :", i);
void burbuja(int v[], int n ); scanf("%d", &v[i]);
void imprimir(int v[], int n); }
main() }
{
int n; void imprimir(int v[], int n)
printf("ingrese la longitud del vector: "); {
scanf("%d", &n); int i;
int v[n]; printf("|");
llenar(v,n); for (i=0; i<n; i++)
printf("\nVector original:"); {
imprimir(v, n); printf(" % 3d| ", v[i]);
printf("\n\n"); }
burbuja(v, n); }
printf("\nVector ordenado:");
ORDENAMIENTO INSERCION system("cls"); // limpiar
pantalla
#include<stdio.h> printf ("\n Inserto %d en la
#include<conio.h> posicion %d y el vector queda",aux,j+1);
#include<stdlib.h> }
void llenar (int v[], int n); }
void ordenamientoporinsercion (int v[], int n); void llenar (int v[], int n)
void imprimir (int v[], int n); {
main() int i;
{ for (i=0;i<n;i++)
int n; {
printf ("\n\n ALGORITMO DE printf ("\n valores vector
ORDENAMIENTO BURBUJA \n\n"); [%d]:",i);
printf ("\n Ingrese la longitud del scanf ("%d", &v[i]);
vector: \n"); }
scanf ("%d",&n); }
int v[n]; void imprimir (int v[], int n)
printf ("\n Digite los datos del vector {
\n"); int i;
llenar (v,n); printf (" |");
printf ("\n Vector original: \n"); for (i=0;i<n;i++)
imprimir (v,n); {
printf ("\n\n"); printf (" %3d|",v[i]);
ordenamientoporinsercion (v,n); }
printf ("\n Vector ordenado \n"); }
imprimir (v,n);
getch(); ORDENAMIENTO SELECCIÓN
}
void ordenamientoporinsercion (int v[], int n) #include<stdio.h>
{ #include<conio.h>
int i,j,aux; void llenar (int v[], int n);
for (i=1;i<n;i++) void seleccion (int v[],int n);
{ void imprimir (int v[], int n);
aux=v[i]; main()
j=i-1; {
while (j>0 && v[j]>aux) int n;
{ printf ("\n\t ALGORITMO DE
v[j+1]=v[j]; //hace corrimiento ORDENAMIENTO SELECCION");
j=j-1; printf ("\n Digite la longitud del
getch(); // Deterner ciclo, poder vector:");
ver los datos scanf ("%d",&n);
} int v[n];
getch(); llenar (v,n);
v[j+1]=aux; printf ("\n Vector original");
imprimir (v,n); BUSQUEDA BINARIA
printf (" \n\n ");
seleccion (v,n); #include<stdio.h>
printf ("\n Vector ordenado"); #include<conio.h>
imprimir (v,n); #include<stdlib.h>
getch(); // se requiere que el vector este ordenado,
} asumiendo que sea de menor a mayor
void seleccion (int v[], int n) // se empieza e buscar en la posicio n
{ correspondiente a la mitad del tamano vector
int i,j,aux,pos; // si el valor comparado no es el buscado se
for (i=0;i<n-1;i++) busca la mitad
{ // prototipos de las funciones que se
pos=i; utilizaran en el programa
for (j=i+1;j<n;j++)
{ void llenar(int v[], int n);
if (v[pos]<v[j]) int BusquedaBinaria(int v[], int n, int dato);
{ void burbuja(int v[], int n);
pos=j; void imprimir(int v[], int n);
}
} main()
aux=v[i]; {
v[i]=v[pos]; int n, dato, pos;
v[pos]=aux;
} printf("\n\nALGORITMO DE BUSQUEDA
} BINARIA\n\n");
void llenar (int v[], int n)
{ printf("Digite el tamaño del vector ");
int i; scanf("%d", &n);
for (i=0;i<n;i++) int v[n];
{
printf ("\n valores vector printf("\n DIGITE LOS DATOS ORDENADOS
[%d]:",i); DEL VECTOR\n");
scanf ("%d", &v[i]); llenar(v,n);
} burbuja(v,n);
}
void imprimir (int v[], int n) do{
{ imprimir(v,n);
int i; printf("\nDigite el dato a buscar (0 para
printf (" | "); terminar) ");
for (i=0;i<n;i++) scanf("%d", &dato);
{
printf (" %3d|",v[i]); pos=BusquedaBinaria(v, n, dato);
}
} if (pos >=0)
printf("\nEL DATO FUE ENCONTRADO EN LA
POSICION %d\n", pos);
void llenar(int v[], int n)
else {
printf("\nEL DATO NO FUE ENCONTRADO\n int i;
");
}while(dato!=0); for (i=0; i<n; i++)
system("pause"); {
} printf("\n el valor [%d] ", i);
scanf("%d", &v[i]);
int BusquedaBinaria(int v[], int n, int dato) //v[i] = i;
{ }
int izquierdo, derecho, centro,con=0; }
izquierdo = 0;
derecho = n-1; void imprimir(int v[], int n)
{
printf("izquierdo centro derecho"); int i;
while (v[centro]!=dato &&izquierdo <= for (i=0; i<n; i++)
derecho ) // se sale del proceso porque {
encontro la palabra y la segunda porque el printf("%3d,", v[i]);
dato no existe vector }
}
{
void burbuja(int v[], int n)
con=con+1;
centro = (derecho + izquierdo ) / 2; {
printf("\n%5d %5d int i,j,aux;
%5d",izquierdo,centro,derecho); for(i=0;i<n-1;i++)
{
if (v[centro]<dato)
derecho = centro-1 ; for(j=i+1;j<n;j++)
else {
izquierdo = centro+1 ; if(v[i]<v[j])
} {

printf("\n se hizo %d aux = v[i];;


comparaciones\n",con); v[i]=v[j];
if(v[centro]==dato) v[j]=aux;

return(centro);
}
else }
return(-1); }
} }
BUSQUEDA SECUENCIAL void imprimir (int v[], int n)
{
#include<conio.h> int i;
#include<stdio.h> printf (" \n\n ");
#include<stdlib.h> for (i=0;i<n;i++)
void llenar (int v[], int n); {
void imprimir (int v[], int n); printf (" %d",v[i]);
int secuencial (int v[], int n,int dato); }
main () }
{ int secuencial (int v[], int n, int dato)
int n,x,pos; {
printf ("\n Algoritmo busqueda int i;
secuencial"); for (i=0;i<n;i=i+1)
printf ("\n Ingrese el tamaño del vector"); {
scanf ("%d", &n); if (v[i]==dato)
int v[n]; return (i);
printf ("\n llenado del vecto"); }
llenar (v,n); }
printf ("\n Valores del vector");
imprimir (v,n); BUSQUEDA BINARIA 1
printf ("\n ingrese el valor a buscar");
scanf ("%d", &x); /* se requiere que el vector este ordenado,
pos=secuencial (v,n,x); asumiendo que sea de menor a mayor
if (pos < n) se empieza e buscar en la posicion
{ correspondiente a la mitad del tamano vector
printf ("\n el dato se encuentra en la si el valor comparado no es el buscado se
posicion %d", pos); cambia la region de busqueda asi:
} >> Sí el valor buscado es muy grande se busca
else entre la mitad y el extremo derecho
{ >> Sí es muy pequeño se busca entre el lado
printf ("\n el dato no existe"); izquierdo y la mitad
} Este proceso se repite mientras el valor no sea
system("pause"); encontrado y el extremo izquierdo
} sea menor o igual que el extremo derecho,
void llenar (int v[], int n) cuando esta condicion ya no se cumpla
{ sera porque el valor buscado no existe en el
int i; vector, en cuyo caso se retorna -1.
for (i=0;i<n;i++) Cuando el valor sea encontrado se retorna la
{ posicion.
printf ("\n valoresvector */
[%d]",i);
scanf ("%d", &v[i]); #include<stdio.h>
} #include<stdio.h>
} #include<conio.h>
#include<stdlib.h> // en windows de 32 las variables no
void llenar(int v[], int n); inicializadas pueden tener cualquier valor
int BusquedaBinaria(int v[], int n, int dato); (basura) aparentemente en windows 64 toda
variable es inicializada en 0.
void imprimir(int v[], int n); int izquierdo, derecho, centro;
void imprimir(int v[], int n); izquierdo = 0;
void imprimir(int v[], int n); derecho = n-1;
centro = (derecho + izquierdo ) / 2;
main()
{ while (v[centro]!=dato && izquierdo <=
int n, dato, pos; derecho ) // se sale del proceso porque
encontro la palabra y la segunda porque el
printf("\n\n ALGORITMO DE BUSQUEDA dato no existe vector
BINARIA\n\n");
{
printf("\n Digite la longitud del vector: ");
scanf("%d", &n); centro = (derecho + izquierdo ) / 2;
int v[n]; if (v[centro]>dato)
derecho = centro - 1;
printf("\n DIGITE LOS DATOS ORDENADOS else
DEL VECTOR\n"); izquierdo = centro + 1;
llenar(v,n); }
system("cls");
printf("\n los valores del vector son: ");
imprimir(v,n); if(v[centro]==dato)
printf("\n"); return(centro);
printf("\nDigite el dato a buscar: "); else
scanf("%d", &dato); return(-1);
}
pos=BusquedaBinaria(v, n, dato);

if (pos >=0) void llenar(int v[], int n)


printf("\n EL DATO FUE ENCONTRADO EN LA {
POSICION %d", pos); int i;

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


printf("\n EL DATO NO FUE ENCONTRADO "); {
printf("\n valor[%d]: ", i);
system("pause"); scanf("%d", &v[i]);
}
}
int BusquedaBinaria(int v[], int n, int dato) }
{
void imprimir(int v[], int n)
{ printf("\nEL DATO NO FUE ENCONTRADO ");
int i;
printf(" |"); //getch();
for (i=0; i<n; i++) }
{
printf(" %3d|",v[i]); int BusquedaBinaria(int v[], int n, int dato)
} {
} int izquierdo, derecho, centro,con=0;
izquierdo = 0;
BUSQUEDA BINARIA derecho = n-1;

#include<stdio.h> printf("izquierdo centro derecho");


#include<conio.h> while (izquierdo <= derecho)
{
// prototipos de las funciones que se
utilizaran en el programa con=con+1;
void llenar(int v[], int n); centro = (derecho + izquierdo ) / 2;
int BusquedaBinaria(int v[], int n, int dato); printf("\n%5d %5d
void imprimir(int v[], int n); %5d",izquierdo,centro,derecho);

//Funcion principal main if (v[centro]>dato)


main() derecho = centro - 1;
{ else
int n, dato, pos; izquierdo = centro + 1;
int A[100]; }
printf("\n\nALGORITMO DE BUSQUEDA printf("\nhizo %d
BINARIA\n\n"); comparaciones\n",con);
return(centro);
//printf("Digite la longitud del vector "); }
//scanf("%d", &n);
n=100;
void llenar(int v[], int n)
llenar(A,n); {
imprimir(A,n); int i;
printf("\nDigite el dato a buscar: ");
scanf("%d", &dato); for (i=0; i<n; i++)
{
pos=BusquedaBinaria(A, n, dato); //printf("\nDigite el valor de la posicion %d ",
i);
if (pos >= 0) //scanf("%d", &v[i]);
printf("\nEL DATO FUE ENCONTRADO EN LA v[i] = i;
POSICION %d", pos); }
}
else
void imprimir(int v[], int n) for(i=0;i<x;i++)
{ {
int i; scanf("%d",& v[i]);
for (i=0; i<n; i++) }
{ }
printf("%3d,", v[i]); void imprimir(int v[],int x)
} {
} int i;
float c=0,prom;
EN LA PISCINA DE LA UNIVERSIDAD SE VA A for(i=0;i<x;i++)
REALIZAR UN CAMPEONATO DE CLAVADOS {
PARA N DEPORTISTAS (N DADO POR printf("%d\t",v[i]);
TECLADO). c=c+v[i];
LOS DEPORTISTAS SERÁN CALIFICADOS POR }
UN JURADO DE 10 PERSONAS. PARA prom=c/x;
CALCULAR SU PUNTUACIÓN SE DETERMINA printf("el promedio es:%f",prom);
EL }
PROMEDIO DE LOS PUNTAJES DADOS POR void promedios(int v[],int x)
JURADO CALIFICADOR PERO CON LA ÚNICA {
SALVEDAD QUE LA PEOR Y LA MEJOR NOTA int i,PM,m,pm,R[50],s;
NO SE for(i=0;i<x;i++)
TIENEN EN CUENTA. {
if(v[i]<v[i+1])
#include<conio.h> {
#include<stdio.h> m=v[i];
void llenar(int v[],int x); pm=i;
void promedios(int v[],int x); }
void imprimir(int v[],int x); }
main() for(i=0;i<x;i++)
{ {
int v[50],p; if(v[i]>v[i+1])
printf("ingrese el numero de {
participantes:"); m=v[i];
scanf("%d",&p); PM=i;
printf("ingrese los promedios dados por lo }
jueces:"); }
llenar(v,p); v[PM]=0;
promedios(v,p); v[pm]=0;
getch; for(i=0,s=0;i<x;i=i+1+s)
return(0); {
} if(v[i]==0)
void llenar(int v[],int x) {
{ s=s+1;
int i; }
R[i]=v[i]; int i;
} for(i=1; i<x;i++)
imprimir(R,x-2); {
} printf("%d\1",v[i]);
}
Hacer un programa en Lenguaje C que lea }
dos vectores de igual tamaño y cree un
nuevo vector con los datos de void intercalar(int v1[],int v2[],int x)
los dos primeros pero intercalados. {
int j=0,z=0,v[50];
#include<conio.h> for(int i=1;i<x*2;i++)
#include<stdio.h> {
if(i%2==0)
void llenar(int v[], int x); {
void intercalar(int v1[], int v2[], int x); v[i]=v2[j];
void imprimir(int v[], int x); j=j+1;
}
main() else
{ {
int v1[50],v2[50],x; v[i]=v1[z];
printf("ingrese le tamaño:"); z=z+1;
scanf("%d",& x); }
llenar(v1,x); }
llenar(v2,x); printf("el vector resultado es:\n");
intercalar(v1,v2,x); imprimir(v,x*2);
}
getch ;
return(0); OTRO MESES

} #include<conio.h>
#include<stdio.h>
void llenar(int v[],int x)
{ void llenar(int v[]);
int i; void imprimir(int v[]);
printf("ingrese los numeros de su void asc_total_prom(int v[]);
verctor:\n");
for(i=0; i<x;i++) main()
{ {
scanf("%d",& v[i]); int v[50];
} llenar(v);
} imprimir(v);
asc_total_prom(v);
void imprimir(int v[],int x) getch();
{ return (0);
} T=T+v[i];
}
void llenar(int v[]) asc=Vmax-Vmin;
{ prom=T/12;
int i; printf("la venta maxima fue de %d en
printf("ingrese las ventas de cadada el mes de ",Vmax);
mes: "); if(Vmaxm==0){
for(i=0; i<12; i++) printf("Enero \n");
{ }
scanf("%d", & v[i]); if(Vmaxm==1){
} printf("Febrero \n");
} }
if(Vmaxm==2){
void imprimir(int v[]) printf("Marzo \n");
{ }
int i; if(Vmaxm==3){
printf("\t V Enero \t V Febrero \t V printf("Abril \n");
Marzo \t V Abril \t V Mayo \t V Junio \t V Julio }
\t V Agosto \t V Septiembre \t V Octubre \t V if(Vmaxm==4){
Noviembre \t V Diciembre \n"); printf("Mayo \n");
for(i=0; i<12; i++) }
{ if(Vmaxm==5){
printf("\t %d \t",v[i]); printf("Junio \n");
} }
printf("\n"); if(Vmaxm==6){
} printf("Julio \n");
}
void asc_total_prom(int v[]) if(Vmaxm==7){
{ printf("Agosto \n");
int i, asc, Vmax, Vmin, Vmaxm; }
float prom, T; if(Vmaxm==8){
Vmax=v[0]; printf("Septiembre \n");
Vmin=v[0]; }
for(i=0; i<12; i++) if(Vmaxm==9){
{ printf("Octubre \n");
if(v[i]>Vmax) }
{ if(Vmaxm==10){
Vmax=v[i]; printf("Noviembre \n");
Vmaxm=i; }
} if(Vmaxm==11){
if(v[i]<Vmin) printf("Diciembre \n");
{ }
Vmin=v[i]; printf("la ventas acendieron de %d a
} %d con un total de %d \n",Vmin,Vmax,asc);
printf("El total de las ventas fue de %f
\n",T);
printf("El pormedio de las ventas fue
de %f \n",prom);
}

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