Вы находитесь на странице: 1из 4

Función Descripción sintaxis

La función strcpy se encuentra #include<stdio.h>


en la biblioteca <string.h> y se #include<string.h>
utiliza para copiar una cadena
int main()
de caracteres (fuente) en el
{
lugar que ocupaba otra char texto1[]="corta";
(destino). Esta copia es char texto2[]="mediana";
destructiva, o sea, que todos char texto3[]="larguisima";
strcpy los caracteres que estaban en
la cadena destino strcpy(texto2,texto1);
desaparecen, aunque la printf("%s\n",texto2);
cadena destino fuera más strcpy(texto2,texto3);
larga que la cadena fuente .La printf("%s\n",texto2);
cadena destino se pone como getch();
return 0;
primer argumento de la función }
y la cadena fuente como
segundo.
En el programa anterior vimos #include<stdio.h>
strcat #include<string.h>
que la función strcpy es
destructiva, pero hay otra int main()
función en la {
char texto1[]="Don Pepito";
librería <string.h> que copia char texto2[]=" y ";
una cadena (fuente) en otra char texto3[]="Don
(destino) sin destruir ésta, es Jose";printf("%s\n",texto1);
decir, que copia una cadena
detrás de la otra esta función strcat(texto1,texto2);
es conocida como strcat. printf("%s\n",texto2);
strcat(texto1,texto3);
printf("%s\n",texto2);
getchar();
return 0;
}

esta función devuelve el total #include <stdio.h>


(entero) de caracteres que #include <string.h>
conforman una cadena #include <conio.h>
#define MAXLON 80

int main(void)
{
char a[MAXLON+1];
int longitud;

Strlen clrscr();
printf ("Introduce una cadena
(max. %d caracteres): ",
MAXLON);
scanf("%s",&a);
longitud = strlen(a);
printf ("\nLongitud de la cadena:
%d\n", longitud);
getch();
return 0;
}
strcmp La función strcmp recibe dos #include <stdio.h>
cadenas, a y b, devuelve un #include <string.h>
entero. El entero que resulta int main()
de efectuar la llamada {
char s1[6] = "Abeja";
strcmp(a, b) codifica el char s2[6] = "abeja";
resultado de la comparación: int i;

es menor que cero si la printf( "s1=%s\t", s1 );


cadena a es menor que b, printf( "s2=%s\n", s2 );

i = strcmp( s1, s2 );
es 0 si la cadena a es igual printf( "s1 es " );
que b, y if( i < 0 ) printf( "menor que" );
else if( i > 0 ) printf( "mayor
es mayor que cero si la que" );
cadena a es mayor que b. else printf( "igual a" );
printf( " s2\n" );

Naturalmente, menor significa return 0;


que va delante en orden }
alfabético, y mayor que va
detrás.

Método de la burbuja

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

if(vec[j] > vec[j+1]){

aux=vec[j];

vec[j]=vec[j+1];

vec[j+1]=aux;}

}}
Búsqueda binaria

#include <iostream>
#include <stdlib.h>
#include "quicksort.cpp"

using namespace std;

int lineal_search(int *array, int searched, int arraySize)


{
for (int i = 0; i< arraySize; i++) {
if (searched == array[i]) {
cout << "Se encuentra en la posicion " << i + 1 << endl;
}
}
}

int binary_search(int *array, int searched, int arraySize)


{
int first = 0;
int middle;
int last = arraySize - 1;

while (first <= last) {


middle = (first + last) / 2;

if (searched == array[middle]) {
cout << "Se encuentra en la posición " << middle + 1 << endl;
return array[middle];
} else {
if (array[middle] > searched) {
last = middle - 1;
} else {
first = middle + 1;
}
}
}
return -1;
}

void print(int *array, int arraySize)


{
for (int i = 0; i < arraySize; i++) {
cout << array[i] << " ";
}
cout << endl << endl;
}

int main()
{
int arraySize;
int searched;
cout << "Ingresa el tamanyo del array" << endl;
cin >> arraySize;

int array[arraySize];
srand(time(NULL));
for (int i = 0; i < arraySize; i++) {
array[i] = rand() % 100;
}

cout << endl;


cout << "Array al inicio: " << endl;
print(array, arraySize);

cout << "Busqueda lineal -> Ingresa el elemento a buscar: ";


cin >> searched;
lineal_search(array, searched, arraySize);

cout << "Array ordenado: " << endl;


quicksort(array, 0, arraySize);
print(array, arraySize);

cout << "Busqueda binaria -> Ingresa el elemento a buscar: ";


cin >> searched;
binary_search(array, searched, arraySize);
}