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

Не правильно удаляются элементы массива - C++

Восстановить пароль Регистрация
 
Антон123
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 20
23.12.2012, 20:15     Не правильно удаляются элементы массива #1
Условие задачи: Дан массив а1,...,а50. Найти в нем последовательности из идущих подряд трех равных между собой элементов, и удалить два из них. Если таких нет напечатать 0. Не могу понять, что я задал неправильно: нахождение 3-го повторяющегося элемента или удаление двух элементов из найденной последовательности, а может и то, и другое. Помогите разобраться. Заранее благодарен.

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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
 
   void main()
 {
   int i,j,k,f,n,count;
   int a[50];
   printf("\nVvedite kolichestvo elementov massiva n:\n");
   scanf("%d", &n);
   printf("Vvedite elementy massiva a:\n");
   for(i=0;i<n;i++)
   scanf("%d",&a[i]);
   f=0;
   count=0;
   for(i=0;i<n;i++)
   {
       for(j=i+1;j<n;j++)
       {
           if(a[i]==a[j])
           count++;
 
        }
       if(count==3){
       for(k=i;k<n-2;k++)
       {
           a[k]=a[k+2];
           n=n-2;
           f=1;
       }
    }
 }
   if(f==1){
   printf("Vvedenyi massiv imeet vid:\n");
   for(i=0;i<n;i++)
   printf("%d",a[i]);
   }
   else printf("\n 0\n");
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2012, 20:15     Не правильно удаляются элементы массива
Посмотрите здесь:

одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ C++
C++ Правильно ли я выделил память под элементы массива
C++ однонаправленный список: элементы добавляются и удаляются с начала, просматриваются с конца списка
C++ Вывести элементы массива на промежутке [ a,b ], вычислить количество элементов массива, заменить все положительные элементы
с++ стек (не удаляются элементы) C++
Создать два новых массива, в один из которых поместить положительные элементы массива, а в другой отрицательные и нулевые элементы C++
C++ Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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