Форум программистов, компьютерный форум CyberForum.ru

Вывести список астероидов отсортированный по уровню опасности - C++

Восстановить пароль Регистрация
 
Realmucho
0 / 0 / 0
Регистрация: 04.08.2016
Сообщений: 79
09.08.2016, 13:51     Вывести список астероидов отсортированный по уровню опасности #1
Имеется база данных астероидов, находящихся вблизи планеты Земля. База данных находится в файле “AsteroidsDatabase.txt”. Каждый астероид описывается тройкой целых координат X, Y, Z, записанных на одной строке(центром системы координат является земля). Количество астероидов в файле не указывается. Чем ближе астероид находится к земле, тем более опасным он считается. Выведите все астероиды, в том же формате, в файл AsteroidsSortedByDanger.txt, отсортированные от самого опасного до самого неопасного. Если два астероида находятся на одинаковом расстоянии от Земли, их порядок в выходном файле неважен.

Подсказка: для ввода данных используйте
int x, y, z;
while(fin >> x >> y >> z)
{
...
}

Можно использовать только библиотеки iostream, fstream, string, vector, algorithm:


пример )))

AsteroidsDatabase.txt
1 2 3
-1 -3 4
0 0 5
10 2 1
0 -1 1

AsteroidsSortedByDanger.txt

0 -1 1
1 2 3
0 0 5
-1 -3 4
10 2 1
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2016, 13:51     Вывести список астероидов отсортированный по уровню опасности
Посмотрите здесь:

C++ Вывести на экран отсортированный массив структур.
Реализовать операцию вставки нового элемента в отсортированный список и операцию извлечения из списка данных C++
C++ Вывести массив отсортированный по пузырьку
На экран не выводится отсортированный массив C++
В отсортированный список вещественных чисел после каждого максимального числа вставить номер в списке C++
Вывести список фамилий отсортированный по возрасту C++
C++ Вводится число N. Создать список его делителей и вывести список на экран
C++ Почти отсортированный массив

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4297 / 3718 / 1251
Регистрация: 14.04.2014
Сообщений: 14,536
10.08.2016, 09:18     Вывести список астероидов отсортированный по уровню опасности #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
struct asteroid
{
    int x, y, z;
    double d;
};
 
vector<asteroid> A;
asteroid a;
 
ifstream fin("AsteroidsDatabase.txt");
 
while(fin >> a.x >> a.y >> a.z)
{
    a.d = sqrt(a.x * a.x + a.y * a.y + a.z * a.z);
    A.push_back(a);
}
 
sort(A.begin(), A.end(), [](const asteroid &a1, const asteroid &a2){ return a1.d < a2.d; });
 
ofstream fout("AsteroidsSortedByDanger.txt");
 
for (asteroid &i : A) fout << i.x << ' ' << i.y << ' ' << i.z << endl;
Yandex
Объявления
10.08.2016, 09:18     Вывести список астероидов отсортированный по уровню опасности
Ответ Создать тему
Опции темы

Текущее время: 06:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru