Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp@0:ab8a99024206, 2017-10-24 (annotated)
- Committer:
- Banyrud
- Date:
- Tue Oct 24 12:33:27 2017 +0000
- Revision:
- 0:ab8a99024206
?ving 8 BAN og AM
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Banyrud | 0:ab8a99024206 | 1 | #include "mbed.h" |
Banyrud | 0:ab8a99024206 | 2 | |
Banyrud | 0:ab8a99024206 | 3 | // Globale objekter og variable |
Banyrud | 0:ab8a99024206 | 4 | Serial pc(USBTX, USBRX); |
Banyrud | 0:ab8a99024206 | 5 | int numbers[100]; // Tabell som skal fylles med tallverdier |
Banyrud | 0:ab8a99024206 | 6 | |
Banyrud | 0:ab8a99024206 | 7 | // Funksjonsprototyper for funksjonene som skal skrives |
Banyrud | 0:ab8a99024206 | 8 | int get_seed(); |
Banyrud | 0:ab8a99024206 | 9 | int get_number_of_elements(); |
Banyrud | 0:ab8a99024206 | 10 | int mySeed, numElements; |
Banyrud | 0:ab8a99024206 | 11 | void fill_array(int seed, int arr[], int len); |
Banyrud | 0:ab8a99024206 | 12 | void sort_array(int arr[], int len); |
Banyrud | 0:ab8a99024206 | 13 | void print_array(int arr[], int len); |
Banyrud | 0:ab8a99024206 | 14 | |
Banyrud | 0:ab8a99024206 | 15 | int main() |
Banyrud | 0:ab8a99024206 | 16 | { |
Banyrud | 0:ab8a99024206 | 17 | mySeed = get_seed(); |
Banyrud | 0:ab8a99024206 | 18 | numElements = get_number_of_elements(); |
Banyrud | 0:ab8a99024206 | 19 | fill_array(mySeed, numbers, numElements ); |
Banyrud | 0:ab8a99024206 | 20 | print_array(numbers, numElements ); |
Banyrud | 0:ab8a99024206 | 21 | sort_array(numbers, numElements ); |
Banyrud | 0:ab8a99024206 | 22 | print_array(numbers, numElements ); |
Banyrud | 0:ab8a99024206 | 23 | |
Banyrud | 0:ab8a99024206 | 24 | return 0; |
Banyrud | 0:ab8a99024206 | 25 | } |
Banyrud | 0:ab8a99024206 | 26 | int get_seed() |
Banyrud | 0:ab8a99024206 | 27 | { |
Banyrud | 0:ab8a99024206 | 28 | int tall; |
Banyrud | 0:ab8a99024206 | 29 | pc.printf("Tast inn et tall:"); |
Banyrud | 0:ab8a99024206 | 30 | pc.scanf("%d",&tall); |
Banyrud | 0:ab8a99024206 | 31 | pc.printf("%d\n",tall); |
Banyrud | 0:ab8a99024206 | 32 | return tall; |
Banyrud | 0:ab8a99024206 | 33 | } |
Banyrud | 0:ab8a99024206 | 34 | int get_number_of_elements() |
Banyrud | 0:ab8a99024206 | 35 | { |
Banyrud | 0:ab8a99024206 | 36 | int elementer; |
Banyrud | 0:ab8a99024206 | 37 | pc.printf("Tast inn hvor mange elementer du vil ha i tabellen:"); |
Banyrud | 0:ab8a99024206 | 38 | pc.scanf("%d",&elementer); |
Banyrud | 0:ab8a99024206 | 39 | pc.printf("%d\n",elementer); |
Banyrud | 0:ab8a99024206 | 40 | return elementer; |
Banyrud | 0:ab8a99024206 | 41 | } |
Banyrud | 0:ab8a99024206 | 42 | void fill_array(int seed, int arr[], int len) |
Banyrud | 0:ab8a99024206 | 43 | { |
Banyrud | 0:ab8a99024206 | 44 | int rnd; |
Banyrud | 0:ab8a99024206 | 45 | srand(seed); |
Banyrud | 0:ab8a99024206 | 46 | for (int i = 0; i < len; i++) { |
Banyrud | 0:ab8a99024206 | 47 | rnd = (rand() % 101); |
Banyrud | 0:ab8a99024206 | 48 | arr [i] = rnd; |
Banyrud | 0:ab8a99024206 | 49 | } |
Banyrud | 0:ab8a99024206 | 50 | } |
Banyrud | 0:ab8a99024206 | 51 | void sort_array(int arr[], int len) |
Banyrud | 0:ab8a99024206 | 52 | { |
Banyrud | 0:ab8a99024206 | 53 | int unsorted = 1;// Starter med å anta at tabellen er usortert |
Banyrud | 0:ab8a99024206 | 54 | while(unsorted) { |
Banyrud | 0:ab8a99024206 | 55 | unsorted = 0; // Antar så at dette er siste gjennomløp |
Banyrud | 0:ab8a99024206 | 56 | |
Banyrud | 0:ab8a99024206 | 57 | for(int a = 0; a < len-1; a++) { |
Banyrud | 0:ab8a99024206 | 58 | if (arr[a] > arr[a+1]) { // Hvis feil rekkefølge: |
Banyrud | 0:ab8a99024206 | 59 | // bytt plass. |
Banyrud | 0:ab8a99024206 | 60 | float x; // x er en hjelpevariabel |
Banyrud | 0:ab8a99024206 | 61 | x = arr[a]; |
Banyrud | 0:ab8a99024206 | 62 | arr[a] = arr[a+1]; |
Banyrud | 0:ab8a99024206 | 63 | arr[a+1] = x; |
Banyrud | 0:ab8a99024206 | 64 | unsorted = 1; // Minst ett bytte gjør at |
Banyrud | 0:ab8a99024206 | 65 | // tabellen må testes på nytt |
Banyrud | 0:ab8a99024206 | 66 | } |
Banyrud | 0:ab8a99024206 | 67 | } |
Banyrud | 0:ab8a99024206 | 68 | } |
Banyrud | 0:ab8a99024206 | 69 | |
Banyrud | 0:ab8a99024206 | 70 | } |
Banyrud | 0:ab8a99024206 | 71 | void print_array(int arr[], int len) |
Banyrud | 0:ab8a99024206 | 72 | { |
Banyrud | 0:ab8a99024206 | 73 | int lf = 0; |
Banyrud | 0:ab8a99024206 | 74 | for (int i = 0; i < len; i++) { |
Banyrud | 0:ab8a99024206 | 75 | lf = 0; |
Banyrud | 0:ab8a99024206 | 76 | pc.printf("%6d", arr[i]); |
Banyrud | 0:ab8a99024206 | 77 | if((i % 3) == 2) { |
Banyrud | 0:ab8a99024206 | 78 | printf("\n"); |
Banyrud | 0:ab8a99024206 | 79 | lf = 1; |
Banyrud | 0:ab8a99024206 | 80 | } |
Banyrud | 0:ab8a99024206 | 81 | } |
Banyrud | 0:ab8a99024206 | 82 | if (lf == 0) { |
Banyrud | 0:ab8a99024206 | 83 | printf("\n"); |
Banyrud | 0:ab8a99024206 | 84 | } |
Banyrud | 0:ab8a99024206 | 85 | } |
Banyrud | 0:ab8a99024206 | 86 | |
Banyrud | 0:ab8a99024206 | 87 | |
Banyrud | 0:ab8a99024206 | 88 | |
Banyrud | 0:ab8a99024206 | 89 | |
Banyrud | 0:ab8a99024206 | 90 | |
Banyrud | 0:ab8a99024206 | 91 | |
Banyrud | 0:ab8a99024206 | 92 | |
Banyrud | 0:ab8a99024206 | 93 | |
Banyrud | 0:ab8a99024206 | 94 | |
Banyrud | 0:ab8a99024206 | 95 | |
Banyrud | 0:ab8a99024206 | 96 |