#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;
}
Объяснение:
Хорошая книга по с++: Герберт Шилд - с++ базовый курс.
1) хотя не понятно зачем изобретать велосипед
function max(a, b: integer): integer;
begin
max := a;
if b > a then
max := b;
end;
begin
var a:=ReadInteger('a =');
var b:=ReadInteger('b =');
writeln(max(a, 2 * b) * max(2 * a - b, b));
end.
2)
const
handfree = false;
begin
var a:= new integer[ReadInteger('n =')];
if handfree then
a := ArrRandomInteger(a.Length, -50, 50)
else
a := ReadArrInteger(a.Length);
writeln('Array:');
a.Println;
writeln('Sum of odds by value = ', a.Where(x -> x mod 2 = 0).Sum);
writeln('Sum of odds by position = ', a.Slice(0, 2).Sum);
end.
3)
const
n = 5;
m = 6;
handsfree = false;
begin
var a := new integer[n, m];
writeln('Данные матрицы:');
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
if handsfree then begin
a[i, j] := random(-50, 50);
write(a[i, j]:4, ' ')
end
else
read(a[i, j]);
writeln;
end;
writeln('Вывод:');
for var i := a.GetLowerBound(0) to a.GetUpperBound(0) do
begin
for var j := a.GetLowerBound(1) to a.GetUpperBound(1) do
begin
if a[i, j] < 0 then a[i, j] := 0;
write(a[i, j]:4, ' ');
end;
writeln;
end;
end.