var
n, Num, i, j, t: integer;
Count: array[1..12] of integer;
Names: array[1..12] of integer;
begin
for i := 1 to 12 do
begin
Count[i] := 0;
Names[i] := i;
end;
ReadLn(N); { Считываем количество запросов}
for i := 1 to N do
begin
ReadLn(t); {считали очередной запрос}
Count[t] := Count[t] + 1;
end;
{Сортируем массивы Names и Count в порядке убывания значений массива Count}
for i := 12 downto 2 do
for j := 2 to i do
if Count[j - 1] < Count[j] then
begin
t := Count[j];
Count[j] := Count[j - 1];
Count[j - 1] := t;
t := Names[j];
Names[j] := Names[j - 1];
Names[j - 1] := t;
end;
for i := 12 downto 1 do
if Count[i] > 0 then
WriteLn(Names[i], ' ', Count[i]);
end.
Объяснение:
ответ: N - количество чисел(вводим с клавиатуры)
K - требуемый член. К не может быть больше N , поэтому если к больше N программа требует ввести вас число К еще раз.
Объяснение:
#include <stdio.h>
#include <malloc.h>
int main(void) {
int N,k,*a,b=0 ;
printf("Введите количество введеных чисел ");
scanf("%d",&N);
while(b==0){
printf("Введите число К ");
scanf("%d",&k);
if(k>N){printf("число к не может быть больше N.");continue;}
b=1;
}
a = (int*)malloc(N* sizeof(int));
for(int i=0;i<N;i++)
{
printf("введите ");printf("%d",i+1); printf("-ый член ");
scanf("%d",&a[i]);
}
printf("К-ый член набора равен = ");printf("%d",a[k-1]);
free(a);
return 0;
}