2-Вариант Сортировка массивов методом выбора


Download 54.43 Kb.
bet1/2
Sana20.06.2023
Hajmi54.43 Kb.
#1635407
  1   2
Bog'liq
Мухаммад


2-Вариант

  1. Сортировка массивов методом выбора



Сортировка массива — это процесс распределения всех элементов массива в определенном порядке. Очень часто это бывает полезным. Например, в вашем почтовом ящике электронные письма отображаются в зависимости от времени получения; новые письма считаются более релевантными, чем те, которые вы получили полчаса, час, два или день назад; когда вы переходите в свой список контактов, имена обычно находятся в алфавитном порядке, потому что так легче что-то найти. Все эти случаи включают в себя сортировку данных перед их фактическим выводом.


  1. Чтение и запись текстовых файлов

Потоки для работы с текстовыми файлами представляют объекты, для которых не задан режим открытия ios::binary.


Запись в файл


Для записи в файл к объекту ofstream или fstream применяется оператор << (как и при выводе на консоль):



  1. #include

  2. #include




  1. int main()

  2. {

  3. std::ofstream out; // поток для записи

  4. out.open("hello.txt"); // открываем файл для записи

  5. if (out.is_open())

  6. {

  7. out << "Hello World!" << std::endl;

  8. }

  9. out.close();

  10. std::cout << "File has been written" << std::endl;

  11. }

Здесь предполагается, что файла "hello.txt" располагается в одной папке с файлом программы. Данный способ перезаписывает файл заново. Если надо дозаписать текст в конец файла, то для открытия файла нужно использовать режим ios::app:

  1. std::ofstream out("hello.txt", std::ios::app);

  2. if (out.is_open())

  3. {

  4. out << "Welcome to C++" << std::endl;

  5. }

  6. out.close();

Чтение из файла
Если надо считать всю строку целиком или даже все строки из файла, то лучше использовать встроенную функцию getline(), которая принимает поток для чтения и переменную, в которую надо считать текст:



  1. #include

  2. #include




  1. int main()

  2. {

  3. std::string line;




  1. std::ifstream in("hello.txt"); // окрываем файл для чтения

  2. if (in.is_open())

  3. {

  4. while (getline(in, line))

  5. {

    1. std::cout << line << std::endl;

  6. }

  7. }

  8. in.close(); // закрываем файл

  9. }

Также для чтения данных из файла для объектов ifstream и fstream может применяться оператор >> (также как и при чтении с консоли):



  1. #include

  2. #include

  3. #include




  1. struct Point

  2. {

  3. Point(double x, double y): x{x}, y{y} {}

  4. double x;

  5. double y;

  6. };

  7. int main()

  8. {

  9. std::vector
    points{ Point{0, 0}, Point{4, 5}, Point{-5, 7}};




  1. std::ofstream out("points.txt");




  1. if (out.is_open())

  2. {

  3. // записываем все объекты Point в файл

  4. for (const Point& point: points)

  5. {

    1. out << point.x << " " << point.y << std::endl;

  6. }

  7. }

  8. out.close();




  1. std::vector
    new_points;

  2. std::ifstream in("points.txt"); // окрываем файл для чтения

  3. if (in.is_open())

  4. {

  5. double x, y;

  6. while (in >> x >> y)

  7. {

    1. new_points.push_back(Point{x, y});

  8. }

  9. }

  10. in.close();




  1. for (const Point& point: new_points)

  2. {

  3. std::cout << "Point X: " << point.x << "\tY: " << point.y << std::endl;

  4. }

  5. }




  1. Download 54.43 Kb.

    Do'stlaringiz bilan baham:
  1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling