Текстовый файл содержит неизвестное количество целочисленных значений, только положительные числа в диапазоне [0-99], разделенных одним или несколькими пробелами или символом «новой строки». Напишите программу, которая:
- прочитав такой файл только один раз (имя файла нужно спросить у пользователя)
- вычисляет и отображает на экране: - количество значений, содержащихся в файле
- количество значений в диапазоне по базе 10 ([0-9], [10-19], ..[90-99])
- записывать все выходы в выходной файл (output.txt).
Пример: предположим следующее содержимое файла:
27 49 15 18 11 26 4 33 2 99
Затем программа должна отобразить следующие сообщения:
Количество значений: 10
Значения в диапазоне [0-9]: 2
Значения в диапазоне [10-19]: 3
Значения в диапазоне [20-29]: 2
Значения в диапазоне [30–39]: 1
Значения в диапазоне [40–49]: 1
Значения в диапазоне [50-59]: 0
Значения в диапазоне [60–69]: 0
Значения в диапазоне [70–79]: 0
Значения в диапазоне [80–89]: 0
Значения в диапазоне [90–99]: 1
C/C++
Помогите пожалуйста написать программу на С++
#include <iostream>
#include <map>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
int main() {
system("chcp 1251 > nul");
cout << "Имя файла с раширением: ";
string filename;
getline(cin, filename);
ifstream file(filename);
if (file.is_open()) {
map<int, int> box;
int value;
int count = 0;
while (file >> value) {
++box[value / 10];
++count;
}
file.close();
vector<int> res(10);
for (const auto& [key, value] : box) res[key] = value;
ofstream save("output.txt");
if (save.is_open()) {
save << "Количество значений: " << count << '\n';
auto a = 0, b = 9;
for (auto x : res) {
save << "Значения в диапазоне [" << a << "-" << b << "]: " << x << '\n';
a += 10;
b += 10;
}
save.close();
} else {
puts("Целевой файл не создан!");
system("pause > nul");
}
} else {
puts("Исходный файл не найден!");
system("pause > nul");
}
}
#include <map>
#include <string>
#include <fstream>
#include <vector>
using namespace std;
int main() {
system("chcp 1251 > nul");
cout << "Имя файла с раширением: ";
string filename;
getline(cin, filename);
ifstream file(filename);
if (file.is_open()) {
map<int, int> box;
int value;
int count = 0;
while (file >> value) {
++box[value / 10];
++count;
}
file.close();
vector<int> res(10);
for (const auto& [key, value] : box) res[key] = value;
ofstream save("output.txt");
if (save.is_open()) {
save << "Количество значений: " << count << '\n';
auto a = 0, b = 9;
for (auto x : res) {
save << "Значения в диапазоне [" << a << "-" << b << "]: " << x << '\n';
a += 10;
b += 10;
}
save.close();
} else {
puts("Целевой файл не создан!");
system("pause > nul");
}
} else {
puts("Исходный файл не найден!");
system("pause > nul");
}
}
programmersforum.ru/showthread.php?t=69193
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main() {
cout << "Enter a name of the file: ";
string file_name;
cin >> file_name;
ifstream fin (file_name);
//ifstream fin (file_name + ".txt"s);
if (fin.is_open()) {
unsigned nums[11] = { 0 };
unsigned val;
while(fin >> val) {
++nums[10];
for (int i = 0; i < 10; ++i) {
if (val >= i*10 && val < (i+1)*10) ++nums[i];
}
}
cout << "Number of values: " << nums[10] << "\n";
for (int i = 0; i < 10; ++i) {
cout << "Values in the range [" << i*10 << "-";
cout << (i+1)*10-1 << "]: " << nums[i] << "\n";
}
fin.close();
} else {
cout << "File not found!\n";
}
return 0;
}
#include <fstream>
#include <string>
using namespace std;
int main() {
cout << "Enter a name of the file: ";
string file_name;
cin >> file_name;
ifstream fin (file_name);
//ifstream fin (file_name + ".txt"s);
if (fin.is_open()) {
unsigned nums[11] = { 0 };
unsigned val;
while(fin >> val) {
++nums[10];
for (int i = 0; i < 10; ++i) {
if (val >= i*10 && val < (i+1)*10) ++nums[i];
}
}
cout << "Number of values: " << nums[10] << "\n";
for (int i = 0; i < 10; ++i) {
cout << "Values in the range [" << i*10 << "-";
cout << (i+1)*10-1 << "]: " << nums[i] << "\n";
}
fin.close();
} else {
cout << "File not found!\n";
}
return 0;
}
Кирилл Шумский
Здравствуйте. После того как напишешь имя файла оно говорит что файл не найден
Похожие вопросы
- Помогите пожалуйста написать программу на Си
- Помогите пожалуйста написать программу!
- Помоги пожалуйста написать программу на C++
- Помогите, пожалуйста, написать программу по нижеописанной задаче!
- Помогите пожалуйста написать программу, реализующую десять генераторов псевдослучайных чисел.СИ!!!!
- Помогите пожалуйста, написать программу в С++
- Помогите, пожалуйста, написать программу на языке Си.
- Помогите пожалуйста написать программу небольшую в C++. Одномерный массив
- Помогите пожалуйста написать программу на C++. Очень нужно!
- Помогите пожалуйста написать программу на C++. Срочно нужно, пожалуйста.