#include <iostream>
#include <vector>
using namespace std;
// глобальные переменные
const int arraySize = 10;
vector <int> numbers;
// сам алгоритм.
void result(){
// совет - обьявляй все переменные в начале функции
int leader = 0;
int maxCount = 0;
int count = 0;
// поиск самого частого числа
for (int c = 0; c < 9;c++){
// обнуляем счетчик
count = 0;
for (int c1 = 0;c1 < arraySize;c1++){
if (numbers[c1] == c) count++;
}
// проверка на лидера
if (maxCount < count){
leader = c;
maxCount = count;
}
}
// ну..с посмотрим:
cout << "Leader: " << leader << " (" << maxCount << ") " << std::endl;
}
int main()
{
// подготовка масива
srand(time(NULL)); // обнулем внутрений таймер для полного рандома
for (int c = 0; c < arraySize;c++) {
numbers.push_back(rand() % 9); // заполняем масив числами
}
// посмотрим на оригинальный масив
cout << "Original array: ";
for (int c = 0;c < arraySize;c++) cout << numbers[c] << " ";
cout << std::endl;
// сортировка
result();
return 0;
}
Объяснение:
Хорошая книга по с++: Герберт Шилд - с++ базовый курс.
Поделитесь своими знаниями, ответьте на вопрос:
по каналу связи передается последовательность положительных целых чисел, все числа не превышают 1000, их количество заранее неизвестно. каждое число передается отдельно. признаком конца передаваемой последовательности является число 0. после числа 0 передается контрольное значение – наибольшее число x, которое: делится на 10; может быть получено умножением двух различных чисел, входящих в полученную последовательность.напишите эффективную программу, которая получает последовательность чисел и следующие за ней признак конца и контрольное значение, а также проверяет правильность контрольного значения. программа должна напечатать отчет следующего вида: получено .. чиселполученное контрольное значение: ….вычисленное контрольное значение: …контроль пройден (или – контроль не пройден)
const
n = 10;
m = 10;
var
i, j: integer;
a, b: array[1..n, 1..m] of integer;
f: boolean;
begin
for i := 1 to n do
begin
for j := 1 to m do
begin
a[i, j] := random(50);
write(a[i, j]:3, ' ');
end;
writeln;
end;
writeln;
for i := 1 to n do
begin
f := false;
for j := 1 to m do
begin
if not f and (a[i, j] mod 2 = 1) then begin
a[i, j] := 2 * a[i, j];
f := true;
end;
write(a[i, j]:3, ' ');
end;
writeln;
end;
end.