Дана программа на языке паскаль. переделать её на язык с++ var n, i, j, t: integer; count, names: array[1..16] of integer; begin for i : = 1 to 16 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: =16 downto 2 do for j: =2 to i do if count[j-1] 0 then writeln(names[i], ' ', count[i]); end.

lika360 lika360    2   02.06.2019 15:10    0

Ответы
LLeNN LLeNN  03.07.2020 10:26
Надоело при копировании из блокнота вручную ставить пробелы. Бред.
ПОКАЗАТЬ ОТВЕТЫ
daniillopunov16 daniillopunov16  03.07.2020 10:26
#include <iostream>
using namespace std;

int main()
{
    int Count[16],Names[16];
    for (int i=0; i<16; i++)
    {
        Count[i] = 0;
        Names[i] = i + 1;
    }
    int n,t;
    cin >> n;
    for (int i=1; i<=n; i++)
    {
        cin >> t;
        Count[t] = Count[t] + 1;
    }
    for (int i=15; i>0; i--)
        for (int j=1; j<i; j++)
            if (Count[j-1] < Count[j])
            {
                t = Count[j]; Count[j] = Count[j-1]; Count[j-1] = t;
                t = Names[j]; Names[j] = Names[j-1]; Names[j-1] = t;
            }
    for (int i=0; i<16; i++)
        if (Count[i] > 0)
            cout <<Names[i] <<' ' <<Count[i] <<endl;
    return 0;
}
Только при вводе t помни, что индексация массив в С++ начинается с нуля, соответственно последний элемент будет иметь индекс N-1.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика