I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Din swap-funktion arbejder på lokale variable (call by value) Du skal lave den så den bruger call by reference, ellers kan den ikke bytte om på tallene:
int d1 // betyder en kopi af d1 int& d1 // betyder referencen til d1
for (a = 0; a < n; a++) { smallestId=a; for (j = a + 1; j < n; j++) { if (array[j] < array[smallestId]) smallestId=j; } // når vi har fundet det mindste, så bytter vi if (smallestId != a) swap(array[a], array[smallestId]);
// ----------------------------- funktion sortere array'et ---------------- // ------- to parametere array til sortering og størrelsen af array ------
void sortArray(int array[], int size) { int i = 0; while( i < size ) { if( array[i] > array[i + 1] ) { int tmp = array[i]; array[ i ] = array[i + 1]; array[i + 1] = tmp;
i = 0; } else { i++; } } };
// ----------------------------- udskriver usorteret -------------------- void outUnSort(int* array, int n) { int i; printf("usorteret:\n"); for( i = 0; i < n; i++ ) printf("%d \n", array[i]); }
// ------------------------------------- main ---------------------------- int main() { int i; int n = 10; // antal tal der proppes i array'et int array[n];
// ------------------------------- random til array ----------------------- // ---------------------- n tilfældige tal stoppes i array ---------------- for( i = 0; i < n; i++ ) array[i] = (rand() % 100);
outUnSort(array, n);
// ---------------------------------- kald af sort array ------------------ printf("\nsorteret:\n"); sortArray(array, n);
for( i = 0; i < n; i++ ) printf("%d\n", array[i]);
printf("\n"); system("pause"); return 0; }
Det må gerne kommenteres, er det en fin løsning eller findes der bedre... ??
// Swap funktion der lægger array'et i rigtig rækkefølge. void swap(int& d1, int& d2) { int temp = d1; d1 = d2; d2 = temp; }
int main() { int i; int n = 10; // antal tal der proppes i array'et int array[10];
// putter n tilfældige tal, mellem 0 og 100 i et array. srand((unsigned)time(NULL)); for( i = 0; i < n; i++ ) array[i] = (rand() % 100);
// udskriver usorteret printf("usorteret:\n"); for( i = 0; i < n; i++ ) printf("%d \n", array[i]);
// udskriver sorteret printf("\nsorteret:\n");
int a; int j; int smallestId;
for (a = 0; a < n; a++) { smallestId=a; for (j = a + 1; j < n; j++) { if (array[j] < array[smallestId]) smallestId=j; } if (smallestId != a) swap(array[a], array[smallestId]);
Metoden sortArray er mindre effektiv, da du nulstiller og starter forfra igen og igen...
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.