Другие языки программирования и технологии

Программа на C++ (нужно исправить)!

В этой программе представлен алгоритм решения:
- Сформировать файл из действительных чисел. Найти наибольшее из значений модулей компонентов с четными номерами.
А мне нужно так:
- Сформировать файл из действительных чисел. Найти расположенные в порядке убывания их модулей.
Возможна она с ошибкой, помогите мне исправить. Файл в формате txt.
http:// depositfiles . com / files / vbwv1xvr4 (уберите пробелы) .
Два раза нет.
1) Программа написана не на C++, а на Си. От C++ в ней только непонятно для чего подключенный и ни разу не использованный iostream.
2) Программа не делает ни то что вы написали, но то что вам нужно от неё.

> Возможна она с ошибкой
Это мягко сказано. Если она и работала, то в ней, похоже, уже кое-кто покопался.
Там даже не сортировка, а какое-то сумбурное перемешивание элементов массива, хотя видно, что пытались реализовать метод простого обмена.

Вот, не сильно отступая от первоначального замысла в реализации вашей программы:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;

int main()
{
setlocale(LC_CTYPE, "Russian");
cout << "Введите кол-во чисел: ";
int n;
cin >> n;
fstream f("int.dat", ios::out);
for (int i = 1; i <= n; i++)
{
float k;
cout << i << ": ";
cin >> k;
f << setw(10) << k;
}
f.close();

f.open("int.dat", ios::in);
float t[100];
for (int i = 0; i < n; i++)
f >> t[і];
f.close();

int k = 1;
bool flag;
do
{
flag = false;
for (int i = 0; i < n - k; i++)
if (fabs(t[і]) < fabs(t[i + 1]))
{
float temp = t[і];
t[і] = t[i + 1];
t[i + 1] = temp;
flag = true;
}
} while (++k < n && flag);

cout << "В порядке убывания модулей: " << endl;
for (int i = 0; i < n; i++)
cout << setw(8) << t[і];
cin.get();
cin.get();
return 0;
}
ТМ
Тагет-Протвино Московская Обл.
51 590
Лучший ответ