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

Поиск элемента - C++

Восстановить пароль Регистрация
 
sg-ua
 Аватар для sg-ua
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 111
15.12.2012, 21:36     Поиск элемента #1
Программа считает сколько минимально раз подряд встречается элемент х в массиве

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
#include <iostream>
 
using namespace std;
 
int main()
{
        int a[10]={ 5, 5, 3, 5, 5, 5, 8, 8, 9};
        int c=0;
        int x=1000;
 
 
        for (int m=0; m<=9;m++)
            if (a[m] == 2)
            {
                c++;
            }
 
            else
            {
                if (c<x&&c>0)
                {
                    x = c;
                    c = 0;
                }
                else
                {
 
                    c = 0;
 
                }
            }
            
 
            cout << x;
 
        }
не могу понять как сделать что бы если элемента х нету в массиве не выбивало начальное значение, в нашем случаи 1000 а выбивало 0...нужно на что-то заменить эту 1000 а на что додуматься не могу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.12.2012, 21:45     Поиск элемента #2
sg-ua, в конце
C++
1
2
if (x == 1000)
    x = 0;
Добавлено через 34 секунды
sg-ua, но прога не очень.
sg-ua
 Аватар для sg-ua
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 111
15.12.2012, 21:51  [ТС]     Поиск элемента #3
go, а можно как то сделать, что бы не 1000 было, так как элемент х может встречаться больше 1000 и так дальше..я думаю вы поняли
zzubrik
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 46
15.12.2012, 22:06     Поиск элемента #4
я может ожибаюсь, но эта программа просто выводит на экран константное значение х, не зависимо от того есть оно в массиве или нет
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.12.2012, 22:07     Поиск элемента #5
sg-ua, вроде так (В Стиле С99)
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
#include <stdio.h>
 
#define SIZE(p) (sizeof (p) / sizeof (*p))
 
int main(void)
{
   int arr[] = { 1, 1, 1, 2, 2, 3, 3, 4, 5, 1, 1, 1, 1 };
   int count = 0, t = 0;
   
   for (int i = 1; i < SIZE(arr); ++i)
      if (arr[i - 1] == arr[i])
         ++t;
      else
      {
         if (t > count)
            count = t;
         t = 0;
      }
      
   if (t > count)
      count = t;
      
   printf("%d\n", count);
   
   return 0;
}
http://liveworkspace.org/code/3HFYnN
sg-ua
 Аватар для sg-ua
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 111
15.12.2012, 22:56  [ТС]     Поиск элемента #6
Цитата Сообщение от zzubrik Посмотреть сообщение
я может ожибаюсь, но эта программа просто выводит на экран константное значение х, не зависимо от того есть оно в массиве или нет
в 13 строчке мы указываем какое число мы ищем, там стоит 2, а так как 2 нету в массиве, оно и выдает первоначальное значение

Добавлено через 2 минуты
спасибо, я сделал так
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
#include <iostream>
#define SIZE(p) (sizeof (p) / sizeof (*p))
using namespace std;
 
int main()
{       int a[]={ 5, 5, 3, 5, 5, 5, 8, 8, 9,5};
        int c=0;
        int x=SIZE(a);
        int y;
 
cout << "Vvedit y: ";
cin >> y;
 
 
        for (int m=0; m<=SIZE(a);m++)
            if (a[m] == y)
            {
                c++;
            }
 
            else
            {
                if (c<x&&c>0)
                {
                    x = c;
                    c = 0;
                }
                else
                {
 
                    c = 0;
 
                }
            }
           if (x == SIZE(a))
           x = 0;
 
            cout << x;
return 0;
        }
но я еще не сталкивался с
C++
1
#define SIZE(p) (sizeof (p) / sizeof (*p))
можешь в кратком росказать что оно такое, я то не много понял, но...
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
15.12.2012, 22:57     Поиск элемента #7
Цитата Сообщение от sg-ua Посмотреть сообщение
можешь в кратком росказать что оно такое, я то не много понял, но...
Макрос для определения кол-ва элементов массиве.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.12.2012, 23:02     Поиск элемента
Еще ссылки по теме:

C++ Удаление элемента из списка и поиск элемента
Быстрый поиск элемента C++
Поиск элемента в массиве C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
sg-ua
 Аватар для sg-ua
0 / 0 / 0
Регистрация: 17.09.2012
Сообщений: 111
15.12.2012, 23:02  [ТС]     Поиск элемента #8
спасибо выручил
Yandex
Объявления
15.12.2012, 23:02     Поиск элемента
Ответ Создать тему
Опции темы

Текущее время: 09:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru