No Imprime

Iniciado por hzre, 23 Noviembre 2020, 18:44 PM

0 Miembros y 1 Visitante están viendo este tema.

hzre


#include<stdio.h>
int main(void) {
 // El arreglo
 int arreglo[] = {28, 11, 96, -5, 21, 18, 12, 22, 30, 97, -1, -40, -500};
 /*Calcular la longitud, puede ser definida por ti o calculada:*/
 int longitud = sizeof arreglo / sizeof arreglo[0];
 /*Imprimirlo antes de ordenarlo*/
 printf("Imprimiendo arreglo antes de ordenar...\n");
 for (int x = 0; x < longitud; x++) {
   printf("%d ", arreglo[x]);
 }
 // Un salto de línea
 printf("\n");
 /*Invocar a quicksort indicando todo el arreglo, desde 0 hasta el índice final */
 quicksort(arreglo, 0, longitud - 1);
 /*Imprimirlo después de ordenarlo*/
 printf("Imprimiendo arreglo despues de ordenar...\n");
 for (int x = 0; x < longitud; x++)
   printf("%d ", arreglo[x]);
 return 0;
}


Me marca error en quicksort, tengo la idea pero no se si me falte otra libreria o asi algo por el estilo



MOD: El código debe estar publicado entre etiquetas de Código GeSHi

Danielㅤ

#1
Hola, aquí está el error:

 printf("%d ", arreglo
);

Ese paréntesis no puede ir abajo así, dará error.


Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

hzre

quicksort(arreglo, 0, longitud - 1);

Este seria mi error mas bien

Eternal Idol

Te falta el codigo  ;D  Si uso Google para buscar el siguiente comentario lo encuentro completo: "/*Invocar a quicksort indicando todo el arreglo, desde 0 hasta el índice final */".
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

K-YreX

Cita de: hzre en 23 Noviembre 2020, 18:44 PM
Me marca error en quicksort, tengo la idea pero no se si me falte otra libreria o asi algo por el estilo
Efectivamente, como dice Eternal Idol, lo que te falta es el código; es decir, la función. La función:
quicksort(int[], int, int);
no existe por lo que tienes que implementarla tú.
Eso es lo que pasa cuando se copia el código tal cual de Github.

PD: Espero por tu propio bien que ese programa no sea una tarea que tengas que entregar pues ya ves lo fácil que ha sido encontrar el código original.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;

Danielㅤ

Aquí está la función que falta (quicksort):

Código (cpp) [Seleccionar]
void quicksort(int arr[], int left, int right) {
     int i = left, j = right;
     int tmp;
     int pivot = arr[(left + right) / 2];

     /* partition */
     while (i <= j) {
           while (arr[i] < pivot)
                 i++;
           while (arr[j] > pivot)
                 j--;
           if (i <= j) {
                 tmp = arr[i];
                 arr[i] = arr[j];
                 arr[j] = tmp;
                 i++;
                 j--;
           }
     };

     /* recursion */
     if (left < j)
           quickSort(arr, left, j);
     if (i < right)
           quickSort(arr, i, right);
}



Saludos
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Eternal Idol

Cita de: [D]aniel en 23 Noviembre 2020, 23:54 PM
Aquí está la función que falta (quicksort):

Por algo no la pusimos antes  :rolleyes:
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón