Форум программистов, компьютерный форум CyberForum.ru

Цифра, повторяющаяся максимальное количество раз - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка операции & http://www.cyberforum.ru/cpp-beginners/thread593355.html
Необходимо создать перегрузку операции "и" для ввода вывода составляющих объекта. Объект состоит из двух переменных типа int. Заранее спасибо!!!
C++ DLL Как сделать жирный текст то есть добавить команду например: Шрифт: name, "Arial" Размер: size = 18; Ширина: width = 18; Жирность: ? = 1; http://www.cyberforum.ru/cpp-beginners/thread593351.html
C++ Задача на максимум.Вектора
даны действительные числа А1,А2..An.Получить последовательность,удалив из исходной все максималымые элементы
Даны три числа. Выбрать те из них, которые принадлежат заданному отрезку [a,b]. C++
не знаю си++, но так вышло что надо для универа решить хотя бы две задачки, если кто поможет буду благодарен.Вот сами задачки. 1.Даны три числа. Выбрать те из них, которые принадлежат заданному отрезку . 2.В заданной матрице A(N, M) поменять местами столбцы с номерами P и Q. 3.Найти самое длинное и самое короткое слово в заданном предложении. СПАСИБО!
C++ Стек целых чисел http://www.cyberforum.ru/cpp-beginners/thread593304.html
Неободима программа на языке СИ "стек целых чисел с сортировкой по убыванию или возрастанию"
C++ Найти порядковый номер слова максимальной длины Помогите, пожалуйста! Очень нужно! подробнее

Показать сообщение отдельно
Thomas_Mor
0 / 0 / 0
Регистрация: 28.05.2012
Сообщений: 7

Цифра, повторяющаяся максимальное количество раз - C++

01.06.2012, 14:57. Просмотров 620. Ответов 7
Метки (Все метки)

Добрый день. Вообщем нужна помощь в исправлении программы. На данный момент программа считает количество максимально повторившегося элемента, но проблема в том что только для однозначных чисел. Мне же надо чтобы она считала и для двузначных и даже трехзначных, то есть например,
идет ряд 99 126 69, и программа должна написать что максимально повторов-3, элемент-9. А в моем коде она сравнивает непосредственно сами элементы, а не цифры.
Ну и на последок текст самого задания: В числовую переменную последовательно входят Nцелых чисел. Определить, какие цифры (от 0 до 9) в этих числах последовательности повторились максимальное количество раз.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
      int n,c=0,element=0,t=0,i,j,f=0;
      printf("\n\nVvedite massiv (n<20)=");
      scanf("%i", &n);
 
     for(i=0;i<n;i++)
     {
      if(n>20)
    {
       printf("\n\nVvedite massiv (n<20)=");
       scanf("%i", &n);
    }
     else
      {
        int a[n];
        srand(1121);
        for(i=0;i<n;i++)
        a[i]=rand()%10;
        printf("\n\nArray A\n\n");
 
        for(i=0;i<n;i++)
        printf("%i",a[i]);
 
        for(i=0;i<n;i++)
         {
           f=1;
              for(j=0;j<i;j++)
                if(a[i]==a[j])
                 f=0;
             if(f)
            {
              t=1;
               for(j=i+1;j<n;j++)
                 if(a[i]==a[j])
                   t++;
               if(t>c)
                 {
                   c=t;
                   element=a[i];
                 }
             }
          }
   if(c==1)
   printf("\nNet povtorov");
        else
          {
            printf("\n\nKol-vo povtorov = %i\n",c);
            printf("\nElement = %i\n",element);
          }
        }
 
     }
    return 0;
}
Добавлено через 1 час 36 минут
Вообщем сделал так, но расписал каждую цифру массива, сколько она повторяется, а нужно теперь чтобы выводило только ту, что повторяется максимальное кол-во раз.
Помогите дописать, чтобы сравнивались кол-ва повторов каждой цифры и выводилось только максимальное кол-во, и рядом сама цифра(которая повторяется больше всех)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int n,i,j,m,k,l,s=0,f=1;
int c,d,sh=0,h,rez,s1=0,s2=0,s3,max;
do{
printf ("Vvedite kolichestvo elementov n<21 ");
scanf("%i",&n);}
while ((n<=0)||(n>20));
int a[n];
 
srand(6726);
for (i=0;i<n;i++)
{
a[i] =rand ()%1000;
}
printf("\n\n ARRAY A: \n\n");
for (i=0;i<n;i++)
{printf ("%5i",a[i]);
}
 
m=n*10;
int v[m];
 
for (i=0;i<n;i++)
{if (a[i]<0)
a[i]=-a[i];
 
d=1;sh=0;
do{
c=a[i]/d;
d=d*10;
sh++;}
while ((c<=0)||(c>9));
d=d/10;
 
for (h=0;h<sh;h++)
{rez=a[i]/d;
a[i]=a[i]%d;
d=d/10;
v[s1]=rez;
s1++;s2++;
}}
 
printf("\n\n Posledovatelnost cifr \n\n");
for (s1=0;s1<s2;s1++)
{
 
printf ("%5i",v[s1]);}//вывод цыфр и начало подсчета их повторов
 
for (i=0;i<s2-1;i++)
{
for (j=i+1;j<s2;j++)
{
if (v[i]<v[j])
{
k=v[i];
v[i]=v[j];
v[j]=k;
}
}
}
printf("\n\n Otsortirovannaia posledovatelnost cifr \n\n");
for (l=0;l<s2;l++)
printf ("%5i",v[l]);
 
s=1;
for (i=0;(i<s2-1);i++)
if (v[i]>v[i+1])
{printf("\n %i",v[i]);
printf(" kolichestvo povtorov %i",s);
s=1;}
else
s++;
printf("\n %i",v[i]);
printf(" kolichestvo povtorov %i",s);
 
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru