Уже несколько часов пытаюсь понять как сделать это просто, и чтобы работало(!) без проблем. В программе по заданию должны использоваться вектора, при этом по минимуму использование функций. Нельзя использовать sort, можно swap. Вот что я "попытался" сделать. Заранее извиняюсь, я криворукий и не шарю за C++: #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; } 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; }
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; }