Загрузка...

Sorting an array in ascending and descending order with reading from a file

Thread in C/C++ created by vadder_sayberg Jul 11, 2021. 197 views

  1. vadder_sayberg
    vadder_sayberg Topic starter Jul 11, 2021 0 Jan 12, 2021
    Уже несколько часов пытаюсь понять как сделать это просто, и чтобы работало(!) без проблем.
    В программе по заданию должны использоваться вектора, при этом по минимуму использование функций. Нельзя использовать sort, можно swap.

    Вот что я "попытался" сделать. Заранее извиняюсь, я криворукий и не шарю за C++:

    Code
    #include <iostream>
    #include <fstream>
    #include <vector>
    using namespace std;

    int main(int argc, char *argv[], int b)
    {
    cout<<"argc = "<<argc<<endl;
    for(int i = 0; i < argc; i++) {
    cout<<"argv "<<i<<" = "<<argv[i]<<endl;
    }
    string pathToFile;
    if(argc == 2) {
    pathToFile = argv[1];
    }
    else {
    cout<<"Enter file path"<<endl;
    cin>>pathToFile;
    }
    fstream fileToRead;
    fileToRead.open(pathToFile);
    float x;
    while(fileToRead>>x) {
    cout<<x<<endl;
    vector <float> array;
    for(int i = 0; n = 0; i = n; n++; i++) {
    fileToWrite<<i<<endl;
    }
    }
    cout<<endl;{
    for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 9; j++) {
    if (array[j] > array[j + 1]) {
    b = array[j];
    array[j] = array[j + 1];
    array[j + 1] = b;
    }
    }
    }
    }
    for (int i = 0; i < 10; i++) {
    cout << array[i] << " ";
    }
    system("pause");
    return 0;
    }
     
  2. Z1PP0
    Z1PP0 Jul 11, 2021 Кем бы ты хотел стать в детстве? 47 Jul 4, 2021
    Забыл само задание написать
     
    1. View previous comments (1)
    2. Z1PP0
      vadder_sayberg, там указан какой-то конкретный метод сортировки?
    3. vadder_sayberg Topic starter
      Z1PP0, нет. Можно использовать любой тип сортировки.
    4. Z1PP0
      vadder_sayberg,

      #include <iostream>
      #include <algorithm>
      // Функция mySort сортирует целочисленный массив методом пузырька
      // и возвращает количество циклов, понадобившихся на сортировку.
      //---------------------------------------------------------------
      int mySort(int arr[], int size)
      {
      int cycles{};
      bool sortagain;
      do {
      sortagain = false;
      for (int i(0); i < size - 1 - cycles; ++i)
      {
      if (arr[i] > arr[i + 1])
      {
      std::swap(arr[i], arr[i + 1]);
      sortagain = true;
      }
      }
      cycles++;
      } while (sortagain);
      return cycles;
      }

      using namespace std;

      int main()
      {
      setlocale(0, "");
      const int size = 9;
      int arr[size]{ 7, 5, 6, 4, 9, 8, 2, 1, 3 };
      cout << "Early termination on iteration: " << mySort(arr, size) << endl;
      for (int i(0); i < size; ++i)
      {
      cout << arr[i] << endl;
      }
      system("pause");
      return 0;
      }
Top
Loading...