IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Найти в массиве и вывести значение наиболее часто встречающегося элемента., Помогите доработать прогрумму.
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 79
Пол: Мужской

Репутация: -  0  +


Есть программа, которая находит в массиве и выводит значения наиболее часто встречающегося элемента. Но я специально в ней уменьшил размер масссива до 5 элементов и ввел 1, 1, 2, 2, 3. вывелось 1. Как сделать так, чтобы выводились оба значения, т.е. 1 и 2 ?
Вот код:

#include <stdio.h>
#include <conio.h>

const int N = 5;
int main()
{
int i, j, count, maxcount, num;
int mass[N]={1, 1, 2, 2, 3};

printf("\n Massiv iz chisel ot 1 do 10: \n");
for(i=0; i<N; i++)
{
printf("\n Massiv[%d] = %d. ", i, mass[i]);
}

maxcount=1; num=0; // Устанавливаем значения двух переменных по умолчанию.
for (i=0; i<N; i++) // Перебираем все элементы массива.
{ count=0; // Счетчик в 0.
for (j=i; j<N; j++) // Перебираем все элементы от i до конца.
if (mass[i] == mass[j]) // Если элемент [i] совпадает с одним из последующих [j],
{ count++; } // то увеличиваем значение счетчика.
if ( count > maxcount) // Если число больше ранее сохраненного,
{ maxcount = count; // тогда перезаписываем.
num = i; } // Присаваеиваем элемент массива в новую переменную
}
if (num >= 0) // Если значение новой переменной больше или равен 0.
{ printf("\n \n Povtor. chisla: %d. ", mass[num]); } // Выводим значение часто повторяющийся элемента.
else // Иначе...
{ printf("\n \n Povtor. elemenov ne naydeno "); } // повторяющихся элементов нет.

getch();
return 0;
}


 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 481
Пол: Мужской
Реальное имя: Федосеев Павел

Репутация: -  9  +


Да, я запутался. Хотел по-паскалевски, чтобы индекс был от 1, также цикл for в паскале включает границы... Потом начал мудрить и вот результат.

Сообщение отредактировано: Федосеев Павел -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.04.2024 17:46
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name