Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*__________________________________________________________________________________________________________________________________*/
- //frases palindromas, se admiten mayusculas y +espacios en blanco
- char *aMayusculas(char *frase, int posInicial)
- {
- if(!frase[posInicial]) return frase;
- else {
- frase[posInicial]=toupper(frase[posInicial]);
- return aMayusculas(frase,posInicial+1);
- }
- }
- char *sacaEspacios(char *frase)
- {
- int i=0,j=0;
- while(frase[i]) {
- if(frase[i]!=' ') {
- frase[j++]=frase[i];
- }
- i++;
- }
- frase[j]='\0';
- return frase;
- }
- int esPalindroma (const char *frase, int posInicial, int posFinal)
- {
- if(posInicial>posFinal) return 1;
- else {
- if(frase[posInicial]==frase[posFinal]) return esPalindroma(frase, posInicial+1, posFinal-1);
- else return 0;
- }
- }
- /*__________________________________________________________________________________________________________________________________*/
- //encuentra el mayor valor en un arreglo
- int mayorValor ( int *vector, int mayor, int posFinal)
- {
- if(posFinal==-1) return mayor;
- else {
- if(vector[posFinal]>mayor) return mayorValor(vector, vector[posFinal], posFinal-1);
- else return mayorValor(vector, mayor, posFinal-1);
- }
- }
- /*__________________________________________________________________________________________________________________________________*/
- //realiza la multiplicacion rusa (conocido como metodo del campesino)
- int mult_rusa(int multiplicador, int multiplicando)
- {
- static int suma=0;
- if(multiplicador==0) return suma;
- else {
- printf("Multiplicador: %i, Multiplicando: %i\n",multiplicador,multiplicando);
- if(multiplicador%2!=0) suma+=multiplicando;
- return mult_rusa(multiplicador/2,multiplicando*2);
- }
- }
- /*__________________________________________________________________________________________________________________________________*/
- //dice si un conjunto de containers esta ordenado o no (los de mayor peso abajo)
- /*ejemplo
- 3 9 8 7
- 9 8 7 6 5 4
- 6 5 4 3 2 1
- 3 2 1 Desordenado
- */
- int Conjunto_Ordenado(int ** Matriz , int tamano, int Fila, int Columna, int Valido)
- {
- if (!Valido) return 0;
- if(Columna==tamano) return 1;
- if(!Fila) return Conjunto_Ordenado(Matriz,tamano,tamano-1,Columna+1,1);
- if(Matriz[Fila][Columna] < Matriz[Fila-1][Columna]) return Conjunto_Ordenado(Matriz, tamano, Fila-1, Columna, 0);
- else return Conjunto_Ordenado(Matriz, tamano, Fila-1, Columna, 1);
- }
- /*__________________________________________________________________________________________________________________________________*/
- //dado la cantidad de alumnos y los datos del tipo alumno muestra al mejor y al peor segun su promedio (prioridad: promedio>edad)
- /*typedef struct alumno{
- char Nombre[20];
- char Apellido[20];
- float Promedio;
- unsigned short int Edad;
- }Alumno;*/
- Alumno * Ordenar_Promedio(Alumno * Arreglo , int Tamano)
- {
- if(!Tamano) return Arreglo;
- else {
- int i;
- for (i=0; i<Tamano-1; i++) {
- if (Arreglo[i].Promedio < Arreglo[i+1].Promedio) {
- Alumno aux= Arreglo[i];
- Arreglo[i]= Arreglo[i+1];
- Arreglo[i+1]= aux;
- }
- }
- return Ordenar_Promedio(Arreglo , Tamano-1);
- }
- }
- /*__________________________________________________________________________________________________________________________________*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement