2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 39
1

Исключение из массива подряд идущих одинаковых элементов(нужно добавить немного кода в уже готовый)

19.04.2013, 11:07. Показов 2376. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем здрасьте. Нужно из массива, вводимый с клавиатуры, исключить подряд идущие одинаковые элементы. Есть идея, что можно сделать с помощью счетчика и перевода оставшихся элементов в другой массив, но оформить не могу( Может кто помочь? готов даже вечерком накинуть денюжки на телефон)

Добавлено через 38 минут
Наклепал вот такой код где комментарии, там никак не могу догадаться как сделать:
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
#include <cstdio>
#include <conio.h>
#include <cmath>
int main()
{
    int i, n, count;
    const int N(n);
    double A[N];
printf("Vvedite kol-vo strok matricy:\n");
scanf("%d",&n);
for (i = 0; i < n; ++i)
     {
          printf("Введите элемент матрицы A[%d]: ", i);
          scanf("%lf", &A[i]);
     }
for (i = 0; i < n; ++i)
{
     printf("[");
     printf("%0.2f", A[i]);
     printf("]");
     }
for (i = 1; i < n; ++i)
    {
      count = 1;
         if (i = (i+1))
               count++;
         for (i = 1; i < n; ++i)
         {
             if (//Здесь надо проверить третий элемент, если он равен второму, то счетчик на 1 прибавляется
                 // и дальше идет проверка четвертого массива и так далее
                )
                    count++;
              else
              //Сюда нужно вставить код, для удаления этих элементов
              //и потом должна идти проверка дальше по массиву начиная с 28 строки снова
    }
    }
printf(//здесь надо вывести готовую матрицу, без последовательностей с одинаковыми элементами);
     getch();
     return 0;
   }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2013, 11:07
Ответы с готовыми решениями:

Удаление подряд идущих одинаковых элементов массива
В целочисленном массиве удалить все подряд идущие одинаковые элементы.

Подсчет суммы одинаковых подряд идущих элементов массива
Как реализовать на C# подсчет суммы одинаковых подряд идущих элементов массива?

Найти наибольшее количество одинаковых элементов массива А, идущих подряд
Помогите пожалуйста неучу! :-| Задание таково: Найти наибольшее количество одинаковых элементов...

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

5
63 / 58 / 14
Регистрация: 14.12.2011
Сообщений: 193
19.04.2013, 11:15 2
Создайте два масива. Пройдитесь по начальному и проверьте:
- если текущий елемент равен предыдущему continue, если нет записывай во второй.
0
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 39
19.04.2013, 11:21  [ТС] 3
Цитата Сообщение от Dr.Urban Посмотреть сообщение
Создайте два масива. Пройдитесь по начальному и проверьте:
- если текущий елемент равен предыдущему continue, если нет записывай во второй.
Про это думал, но я незнаю команд для перевода и если таким методом поступить, то получится так?:
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
#include <cstdio>
#include <conio.h>
#include <cmath>
 
// размеры матрицы в виде констант
 
// теперь выполним ввод ее значений,
// естественно, в цикле, вернее, в двух
 
int main()
{
    int i, n;
    const int N(n);
    double A[N];
printf("Vvedite kol-vo strok matricy:\n");
scanf("%d",&n);
for (i = 0; i < n; ++i)
     {
          printf("Введите элемент матрицы A[%d]: ", i);
          scanf("%lf", &A[i]);
     }
for (i = 0; i < n; ++i)
{
     printf("[");
     printf("%0.2f", A[i]);
     printf("]");
     }
for (i = 1; i < n; ++i)
    {
         if (i = (i+1))
               count++;
         else
             //Сюда нужно вставить код, для перемещения элемента в другой массив
printf(//Новый массив);
     getch();
     return 0;
   }
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
19.04.2013, 11:24 4
Цитата Сообщение от Crafticea Посмотреть сообщение
Нужно из массива, вводимый с клавиатуры, исключить подряд идущие одинаковые элементы.
std::unique в помощь
0
2 / 2 / 0
Регистрация: 19.11.2012
Сообщений: 39
19.04.2013, 11:27  [ТС] 5
Цитата Сообщение от Croessmah Посмотреть сообщение
std::unique в помощь
Спасибо, попробую, а код во втором посте правильно построен в цикле for?
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
19.04.2013, 11:29 6
C++
1
if (i = (i+1))
Внимание на условие!!!
0
19.04.2013, 11:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2013, 11:29
Помогаю со студенческими работами здесь

Найти наиболее длинную цепочку подряд идущих одинаковых элементов массива
В целочисленном массиве найти наиболее длинную цепочку подряд идущих одинаковых элементов.

Проверить, найдутся ли среди элементов массива два идущих подряд одинаковых чисел
Дан одномерный массив а1,а2...аn,состоящий из целых чисел.Проверить,найдутся ли среди элементов...

Найти длины серий подряд идущих одинаковых элементов и их значения для одномерного массива
Дан целочисленный массив А размером N. Назовем серией группу подряд идущих одинаковых элементов, и...

Вставить перед каждой серией (группой подряд идущих одинаковых элементов) минимальный элемент массива
Дан массив состоящий из n элементов. Назовем серией группу подряд идущих, одинаковых элементов, а ...

процедура нахождения подряд идущих одинаковых элементов
Помогите ребят написать процедуру &quot;нахождения группы подряд идущих одинаковых элементов&quot;.А задание...

Если в одномерном массиве встречаются 2 подряд идущих одинаковых числа, то одно нужно удалить
задан одномерный массив, если в нем встречаются 2 подряд идущих одинаковых числа, то одно нужно...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru