![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Астасья |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Продвинутые Сообщений: 9 Регистрация: 21.4.2011 Город: Сыктывкар Учебное заведение: СГУ Вы: студент ![]() |
Задание
Дан целочисленный массив размера N. Определить максимальное количество его одинаковых элементов. не получается (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) вот что я написала program masiv;uses crt; const n=10; var a:array [1..n] of integer; i,s,p,f:integer; begin {заполняем массив } s:=0; for i:=1 to n do begin a[i]:=random(9); write(a[i]:2); end; writeln; while f=0 do begin {сортируем по возрастанию} f:=1; for i:=1 to (n-1) do if a[i]>a[i+1] then begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; f:=0; end;end; for i:=1 to n do begin {выводим отсартированый массив} write(a[i]:2); end;writeln; begin {что-то не понятное} for i:=1 to (n-1) do if a[i]=a[i+1] then s:=s+1; end; writeln('максимальное количество одинаковых элементов.=',s); end. ?????????????????????????ПОМОГИТЕ!!! |
![]() ![]() |
Vahappaday |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
В конце забыли обнулять s, да и максимальное не запоминали. Выводилось количество повторяющихся чисел вообще. Исправленный вариант ниже:
Код program masiv; uses crt; const n=10; var a:array [1..n] of integer; i,s,p,f,smax:integer; begin {заполняем массив } s:=1; for i:=1 to n do begin a[i]:=random(9); write(a[i]:2); end; writeln; while f=0 do begin {сортируем по возрастанию} f:=1; for i:=1 to (n-1) do if a[i]>a[i+1] then begin p:=a[i]; a[i]:=a[i+1]; a[i+1]:=p; f:=0; end; end; for i:=1 to n do begin {выводим отсартированый массив} write(a[i]:2); end; writeln; smax:=0; begin {что-то не понятное} for i:=1 to (n-1) do if a[i]=a[i+1] then s:=s+1 else s:=1; if s>smax then smax:=s; end; writeln('максимальное количество одинаковых элементов.=',smax); end. |
Астасья |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 9 Регистрация: 21.4.2011 Город: Сыктывкар Учебное заведение: СГУ Вы: студент ![]() |
это тоже неверно (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif) (IMG:style_emoticons/default/sad.gif)
может кто-нибудь ещё знает... |
Vahappaday |
![]()
Сообщение
#4
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
А что неверно? Покажите данные, которые генерятся, и какой выводит ответ, помогу подправить, раз уж сам накосячил.
|
Julia |
![]()
Сообщение
#5
|
Ассистент ![]() ![]() ![]() ![]() Группа: Julia Сообщений: 593 Регистрация: 23.2.2007 Город: Улан-Удэ Учебное заведение: БГУ Вы: преподаватель ![]() |
smax:=0;
for i:=1 to (n-1) do if a[i]=a[i+1] then s:=s+1 else begin if s>smax then smax:=s; s:=1; end; writeln('максимальное количество одинаковых элементов.=',smax); |
Vahappaday |
![]()
Сообщение
#6
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
Неа, ибо 1 1 2 2 1 1 даст 2, а нужно 4
|
Sergio Ramos |
![]()
Сообщение
#7
|
Студент ![]() ![]() Группа: Продвинутые Сообщений: 86 Регистрация: 16.11.2010 Город: Saratov ![]() |
Если нет ограничения на время, то в лоб прогнать все элементы и найти тот, у которого больше всех совпадений
Код #include "iostream" using namespace std; int main () { int n,s=0,k=0; cin >> n; int *a=new int[n]; //объявили динамический массив for (int i=0;i<n;i++) cin >> a[i]; //ввод элементов for (int i=0;i<n;i++) { for (int j=0;j<n;j++) if (a[i]==a[j]) k++; if (k>s) s=k; k=0;} cout << s; return 0;} Под паскаль сами переделайте, давно с ним не сталкивался |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:33 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru