На вход программе подается имя входного текстового файла input.txt
На выход в выходной файл output.txt вывести вещественное число - отношение количества вхождений этого символа в данный файл к длине всего файла
Помогите додумать этот код C++:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int mas[256];
FILE*f;
char symbol;
int i,j;
f=fopen("input.txt","r");
for (i=0;i<255;i++)
mas=0;
puts(f);
int k=strlen(f);
for (i=0;i<255;i++)
for (j=0;j<k;j++)>=mas[j])
{
mas[symbol]++;
}
fclose(f);
for (i=0;i<255;i++)
{
if (mas>0) //где то тут должно быть написано f2=fopen("output.txt","w"); и записано значение отношения
printf( символ, кол-во)
}
return 0;
}
Другие языки программирования и технологии
Написать программу которая подсчитывает частоту встречаемости символов в заданном текстовом файле С++
> #include <stdio.h>
> #include <stdlib.h>
Что-то у вас тут совсем не С++
#include <map>
#include <fstream>
using namespace std;
int main() {
ifstream in("input.txt", ios::binary);
map<unsigned char, int> s;
char c;
int n = 0;
while (in.get(c)) {
++s[c]; ++n;
}
ofstream out("output.txt");
for (map<unsigned char, int>::iterator i = s.begin(); i != s.end(); ++i) {
if (i->first < 32) {
out << "0x" << hex << static_cast<unsigned>(i->first);
} else {
out << "'" << i->first << "'";
}
out << " - " << static_cast<double>(i->second) / n << endl;
}
return 0;
}
или без использования map
#include <fstream>
using namespace std;
int main() {
ifstream in("input.txt", ios::binary);
int s[256] = { 0 };
char c;
int n = 0;
while (in.get(c)) {
++s[c]; ++n;
}
ofstream out("output.txt");
for (int k = 0; k < 256; ++k) {
if (s[k] != 0) {
if (k < 32) {
out << "0x" << hex << k;
} else {
out << "'" << static_cast<char>(k) << "'";
}
out << " - " << static_cast<double>(s[k]) / n << endl;
}
}
return 0;
}
> #include <stdlib.h>
Что-то у вас тут совсем не С++
#include <map>
#include <fstream>
using namespace std;
int main() {
ifstream in("input.txt", ios::binary);
map<unsigned char, int> s;
char c;
int n = 0;
while (in.get(c)) {
++s[c]; ++n;
}
ofstream out("output.txt");
for (map<unsigned char, int>::iterator i = s.begin(); i != s.end(); ++i) {
if (i->first < 32) {
out << "0x" << hex << static_cast<unsigned>(i->first);
} else {
out << "'" << i->first << "'";
}
out << " - " << static_cast<double>(i->second) / n << endl;
}
return 0;
}
или без использования map
#include <fstream>
using namespace std;
int main() {
ifstream in("input.txt", ios::binary);
int s[256] = { 0 };
char c;
int n = 0;
while (in.get(c)) {
++s[c]; ++n;
}
ofstream out("output.txt");
for (int k = 0; k < 256; ++k) {
if (s[k] != 0) {
if (k < 32) {
out << "0x" << hex << k;
} else {
out << "'" << static_cast<char>(k) << "'";
}
out << " - " << static_cast<double>(s[k]) / n << endl;
}
}
return 0;
}
Похожие вопросы
- Напишите программу, которая находит в массиве количество элементов, равных заданному значению X .
- Необходимо написать программу которая открывает файл "input.txt" и удаляет в ней все пробелы и числа. с++
- Напишите программу, которая находит максимальное среди чисел, записанных в файле, и выводит результат в другой файл.
- 1. Написать программу, которая заполняет массив целых чисел размеров 20 элементов значениями роста учащихся (случайные ч
- Необходимо написать программу, которая проверяет, является ли введенная с клавиатуры матрица трехдиагональной.
- напишите программу проверки наличия в массиве элемента с заданным значением?
- Напишите программу которая рассчитает значение полинома n-й степени.
- аскаль. Написать программу которая переводит число из одной системы счисления в другую
- Написать программу, которая формирует два массива чисел
- Требуется написать программу, которая из цифр двух натуральных чисел создает наименьшее возможное число, сохраняя при эт