Другие языки программирования и технологии
ОЧЕНЬ СРОЧНО НУЖНА ПОМОЩЬ В C++ БУДУ ОЧЕНЬ БЛАГОДАРЕН !!!
Заданы два файла целых чисел f1 и f2.Найти в файле f2 число, самое близкое по величине к максимальному значению файла f1
#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
vector<int> load(const string& path) {
vector<int> box;
ifstream file(path);
if (file.is_open()) {
int number;
while (file >> number) box.push_back(number);
file.close();
} else {
cout << "Error! The path to the file was not found!\n";
}
return box;
}
int find_number(const vector<int>& vec, const int number) {
set<int> box;
for (const auto value : vec) if (!box.count(value)) box.insert(value);
if (box.count(number)) return number;
box.insert(number);
vector<int> tmp;
for (const auto value : box) tmp.push_back(value);
const auto pos = find(tmp.begin(), tmp.end(), number);
const auto prev = pos - 1;
const auto next = pos + 1;
if (next == tmp.end()) return *prev;
if (pos == tmp.begin()) return *next;
return *next - *pos < *pos - *prev ? *next : *prev;
}
int main() {
// Для файлов не имеющих расширения
const auto f1 = load("f1");
const auto f2 = load("f2");
if (f1.empty() || f2.empty()) cout << "Error! Empty...\n";
else {
const auto me = *max_element(f1.begin(), f1.end());
const auto ae = find_number(f2, me);
cout << "Max element = " << me << "\nApproximate element = " << ae << endl;
}
system("pause");
}
#include <string>
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
vector<int> load(const string& path) {
vector<int> box;
ifstream file(path);
if (file.is_open()) {
int number;
while (file >> number) box.push_back(number);
file.close();
} else {
cout << "Error! The path to the file was not found!\n";
}
return box;
}
int find_number(const vector<int>& vec, const int number) {
set<int> box;
for (const auto value : vec) if (!box.count(value)) box.insert(value);
if (box.count(number)) return number;
box.insert(number);
vector<int> tmp;
for (const auto value : box) tmp.push_back(value);
const auto pos = find(tmp.begin(), tmp.end(), number);
const auto prev = pos - 1;
const auto next = pos + 1;
if (next == tmp.end()) return *prev;
if (pos == tmp.begin()) return *next;
return *next - *pos < *pos - *prev ? *next : *prev;
}
int main() {
// Для файлов не имеющих расширения
const auto f1 = load("f1");
const auto f2 = load("f2");
if (f1.empty() || f2.empty()) cout << "Error! Empty...\n";
else {
const auto me = *max_element(f1.begin(), f1.end());
const auto ae = find_number(f2, me);
cout << "Max element = " << me << "\nApproximate element = " << ae << endl;
}
system("pause");
}
#include "fstream"
#include "iostream"
#include "climits"
using namespace std;
int main(){
long t,m=INT_MIN,k=INT_MAX,r;
ifstream fi("f1.txt"); while(fi>>t)if(t>m)m=t; fi.close();
ifstream fo("f2.txt"); while(fo>>t)if(abs(t-m)<k)k=abs(t-m),r=t;
fo.close(); cout<<r<<endl; cin.get();}
Файлы предполагаются с расширением .txt
#include "iostream"
#include "climits"
using namespace std;
int main(){
long t,m=INT_MIN,k=INT_MAX,r;
ifstream fi("f1.txt"); while(fi>>t)if(t>m)m=t; fi.close();
ifstream fo("f2.txt"); while(fo>>t)if(abs(t-m)<k)k=abs(t-m),r=t;
fo.close(); cout<<r<<endl; cin.get();}
Файлы предполагаются с расширением .txt
Ырыс Абазов
Вычисление суммы и разности для целых чисел чревато переполнением значения.
вначале надо найти максимальное значение из ф1. Потом число из ф2, самое близкое к найденному максимуму
Михаил Васюкевич
Да, спасибо тебе, но в программе что то не так, видимых ошибок нет, но решение не выдает
Похожие вопросы
- Очень срочно нужна помощь!! мне знает ли кто нибудь программу, чтобёпределять схожесть текста? конктерней эст список
- очень срочно нужна помощь по паскалю сижу на экзамене. дома буду обязательно отблагодарю и скину деньги если что
- Очень срочно нужна помощь в написании кода С++. Всё не вмещается, поэтому задание в пояснении. Помогите, пожалуйста!!
- Срочно нужна помощь WEB-программиста, который мог бы состряпать сайт
- Есть кто нибудь кто знает язык С ?? срочно нужна помощь !!
- Нужна помощь в C++
- Программисты нужна помощь в c++!
- Срочно нужно помощь с C#.
- Очень срочно нужна Ваша помощь!!!
- срочно нужна помощь