Here are some ideas to help you improve your code, and perhaps inspire you to learn more.
Reconsider using
The code currently contains these two lines:
using std::cout;
using std::cin;
That's not too terrible, but there are at least two ways to make it better. First would be to put those inside main
to limit any possible conflicts there instead of globally. Better, in my view, would be to simply omit them and use std::cin
and std::cout
since they're only used in three lines in your entire program. That way readers will instantly see that you're using the std::
versions and not some other version.
Decompose your program into functions
All of the logic here is in main
in one dense chunk of code. It would be better to decompose this into a separate function or functions.
Avoid non-standard features
Other have mentioned this, but declaring and array with anything other than a compile-time number is not in standard C++ and so that should be avoided. I hope your teacher isn't writing C++ code like this!
Use modern C++ features
It is very likely you haven't learned about std::ranges
or various other algorithms and data structures yet, but just to whet your appetite, here's a rewrite of your program using C++20 and all of the tools in the toolbox:
#include <iostream>
#include <map>
#include <ranges>
#include <algorithm>
int main () {
using myDataType = float;
using myMapType = std::map<myDataType, unsigned>;
myDataType value;
myMapType counts;
int N;
for (std::cin >> N; N && std::cin >> value; --N) {
++counts[value];
}
auto mode = std::ranges::max_element(counts,{},&myMapType::value_type::second);
std::cout << "The mode of the data set is " << mode->first
<< " appearing " << mode->second << " times\n";
}