I have this code to determin the frequency of characters in a file which I want to make simpler and use namespace std. Thanks. #include #include #include #include #include #include int main() { FILE *in, *out; char ch; int i=0; char c[1000000]; in = fopen("input.txt", "r"); if (in == NULL) { printf("Cannot open source file.\n"); exit(1); } out = fopen("output.txt", "w"); if (out == NULL) { printf("Cannot open destination file.\n"); exit(1); } int freq[128] = {0}; // stores frequency of characters do { // read each character from input file ch = getc(in); c[i]=ch; // increment frequency of the corresponding character freq[ch]++; i++; } while (!feof(in)); // print histogram data in the output file fputs("character frequency ", out); //i=i/2; for (int k=0; k
I have this code to determin the frequency of characters in a file which I want to make simpler and use namespace std. Thanks.
#include <iostream>
#include <fstream>
#include <string>
#include<stdlib.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *in, *out;
char ch;
int i=0;
char c[1000000];
in = fopen("input.txt", "r");
if (in == NULL) {
printf("Cannot open source file.\n");
exit(1);
}
out = fopen("output.txt", "w");
if (out == NULL) {
printf("Cannot open destination file.\n");
exit(1);
}
int freq[128] = {0}; // stores frequency of characters
do {
// read each character from input file
ch = getc(in);
c[i]=ch;
// increment frequency of the corresponding character
freq[ch]++;
i++;
}
while (!feof(in));
// print histogram data in the output file
fputs("character frequency ", out);
//i=i/2;
for (int k=0; k <i;k++)
{if (freq[c[k]] != 0&&c[k]!='\n')
{fprintf(out, "\n%c\t\t\t\t%2d", c[k], freq[c[k]]);
freq[c[k]]=0;
}
}
fclose(out);
fclose(in);
return 0;
}
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images