Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _GNU_SOURCE // Behövs när man använder getline i C
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void sortArray(int* array, int size);
- void swap(int* first, int* second);
- int main(int argc, char *argv[])
- {
- int n = 0;
- int i = 0;
- char* line = NULL;
- size_t length = 90;
- size_t characters = 0;
- int numbers[21];
- char number[4];
- int j = 0;
- int Kattis = 0;
- int KattisKitten = 0;
- do {
- characters = getline(&line, &length, stdin);
- printf("String: %s length: %zu\n", line, characters);
- while(*line) {
- number[i] = *line;
- if(*line == ' ' && (*line+1)) {
- numbers[j++] = atoi(number);
- i = 0;
- } else {
- i++;
- }
- printf("Char: [%c] Pos: [%d]\n", *line, i);
- *line++;
- }
- numbers[j++] = atoi(number);
- sortArray(numbers, j);
- for(int ik = 0; ik < j;ik++){
- printf("#%d: %d\n", ik, numbers[ik]);
- if(Kattis <= KattisKitten){
- Kattis += numbers[ik];
- } else {
- KattisKitten += numbers[ik];
- }
- }
- printf("Weight of Kattie backpack: %d\n", Kattis);
- printf("Weight of the Kitten's backpack: %d", KattisKitten);
- n++;
- } while(n <= 20 && line[0] != '0');
- for(int i = 0; i<n; i++) {
- }
- printf("done!");
- return 0;
- }
- /**
- * @brief Sorts a int array descending order
- * @details Uses selective sort algorithm
- * @param array The array of integer to be sorted
- * @param size The number of elements in the array
- */
- void sortArray(int* array, int size)
- {
- for(int i = 0; i<size-1; i++) {
- int jmin = i;
- for(int j=i+1; j<size; j++) {
- if(array[j] > array[jmin]) {
- jmin = j;
- }
- }
- if(jmin != i) {
- swap(&array[i], &array[jmin]);
- }
- }
- }
- void swap(int* first, int* second)
- {
- int temp = *first;
- *first = *second;
- *second = temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment