В этой программе представлен алгоритм решения:
- Сформировать файл из действительных чисел. Найти наибольшее из значений модулей компонентов с четными номерами.
А мне нужно так:
- Сформировать файл из действительных чисел. Найти расположенные в порядке убывания их модулей.
Возможна она с ошибкой, помогите мне исправить. Файл в формате txt.
http:// depositfiles . com / files / vbwv1xvr4 (уберите пробелы) .
Другие языки программирования и технологии
Программа на C++ (нужно исправить)!
Два раза нет.
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;
}
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;
}
Похожие вопросы
- нужно исправить программу
- Программа на C++ в Windows Form
- Помогите пожалуйста! нужно написать программу на C++
- Не могу настроить codeBlock для написания программ на c++.
- Проверти правильность программы на C++
- Написал программу в c++. Отправил на другой компьютер. Выдало ошибку потому
- Помогите с программой Dev C++
- Помогите написать программу на C/C++
- как написать такую программу для c++?
- Не могу опредилиться между C++ и C#, с чего начать программировать. Вот знаю например что в C++ нужно самим управлять...