The first part I'm having trouble with is having the user type in the file name to read in to the array.
Second, I need to count the occurance of each element of the array and display the element next to it's number of occurances.
The text file looks like this: 1 2 3 2 6 7 4 5 3 7 4 5 2 4 7
Please help me!
My code looks like this: (Don't laugh)
\#include <iostream>
#include <fstream>
#include <cstdlib>
#include<string>
using namespace std;
void sort(char a[], int number_used);
void swap_values(char& v1, char& v2);
int index_of_smallest(const char a[], int start_index, int number_used);
void sort(char a[], int number_used)Code:int main() { char input_file[21]; int number_used; ifstream in_stream; in_stream.open(input_file); cout<< "Please enter the name of the input file.\n"; cin>> input_file; cin.read(input_file, 21); sort(input_file, number_used); while (!in_stream.eof()) { for (int index = 0; index < number_used; index++) cout<< input_file[index] << " \n"; in_stream.close(); } return 0; }
{
int index_of_next_smallest;
for (int index = 0; index < number_used - 1; index++)
{
index_of_next_smallest = index_of_smallest(a, index, number_used);
swap_values(a[index], a[index_of_next_smallest]);
}
}
void swap_values(char& v1, char& v2)
{
int num;
num = v1;
v1 = v2;
v2 = num;
}
int index_of_smallest(const char a[], int start_index, int number_used)
{
int min = a[start_index],
index_of_min = start_index;
for (int index = start_index + 1; index < number_used; index++)
if (a[index] < min)
{
min = a[index];
index_of_min = index;
}
return index_of_min;
}