Дана программа на языке Паскаль. Переделать её на язык С++ Var n, i, j, t: integer;
10-11 класс
|
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]<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:=1 to 16 do
if Count[i] > 0 then
writeLn(Names[i], ' ', Count[i]);
end.
Надоело при копировании из блокнота вручную ставить пробелы. Бред.
#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.
Другие вопросы из категории
1) MOV
2) MMX
3) MIMD
4) SIMD
ребята!!! Буду очень благодарен.
написать программу, которая вводит с клавиатуры координаты точки на плоскости
(x, y – действительные числа) и определяет принадлежность точки заштрихованной
области, включая ее границы. Программист торопился и написал программу
неправильно. Вот она:
Читайте также
б)y=x^15
Постараться использовать минимальное количество дополнительных переменных.
4. Запишите на языке Паскаль программу циклического обмена значениями трёх переменных a,b,c. Схема циклического обмена: a ← b ← c. Например, если до обмена было: a=1, b=2, c=3, то после обмена должно стать: a=2, b=3, c=1.
2)Найти количество всех нечетных чисел на интервале от 11 до 20
3)Найти сумму целых положительных четных чисел на интервале от 1 до 100
4)Найти сумму ряда,общий член которого равен А(х)=1/(3*N-2)*(3*N+1)
5)Дано произвольное число n≤100.Определить количество цифр в числе
ОЧЕНЬ НУЖНО!!НА ЯЗЫКЕ ПАСКАЛЬ!ВЫРУЧАЙТЕ!
углов.
2)
Напишите пожалуйста программу (на языке BASIC) для определения подобия:
а) двух прямоугольников по двум смежным сторонам;
б) двух треугольников по трем сторонам.
добрый вечер, всем. помогите, пожалуйста, написать программу на Ассемблере.
задание:
Создать программу на языке Ассемблер, что позволяет организовать вычисления над элементами массивов
Объединить два массива 8-битных целых чисел со знаком. Сначала элементы второго затем первого.
заранее огромное спасибо всем!
остаток от деления которых на 5 больше двух