Cod sursa(job #3194723)

Utilizator sarbullSirbu Nicolae-Cezar sarbull Data 19 ianuarie 2024 01:59:38
Problema Sortare prin comparare Scor 40
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.97 kb
#include <stdio.h>

// Funcție pentru sortarea bulelor
void bubbleSort(int arr[], int n) {
  for (int i = 0; i < n-1; i++) {
    for (int j = 0; j < n-i-1; j++) {
      if (arr[j] > arr[j+1]) {
        // Schimbare elemente dacă sunt în ordine inversă
        int temp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = temp;
      }
    }
  }
}

int main() {
  // Deschiderea fișierelor de intrare și ieșire
  FILE *inputFile, *outputFile;
  inputFile = fopen("algsort.in", "r");
  outputFile = fopen("algsort.out", "w");

  // Citire numărul de elemente
  int n;
  fscanf(inputFile, "%d", &n);

  // Citire elemente
  int arr[n];
  for (int i = 0; i < n; i++) {
      fscanf(inputFile, "%d", &arr[i]);
  }

  // Apelarea funcției de sortare
  bubbleSort(arr, n);

  // Scrierea rezultatului în fișierul de ieșire
  for (int i = 0; i < n; i++) {
      fprintf(outputFile, "%d ", arr[i]);
  }

  // Închiderea fișierelor
  fclose(inputFile);
  fclose(outputFile);

  return 0;
}