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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Антон123
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 20
#1

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

23.12.2012, 20:15. Просмотров 168. Ответов 0
Метки нет (Все метки)

Условие задачи: Дан массив а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     Не правильно удаляются элементы массива
Посмотрите здесь:

C++ Правильно ли я выделил память под элементы массива
C++ однонаправленный список: элементы добавляются и удаляются с начала, просматриваются с конца списка
с++ стек (не удаляются элементы) C++
C++ Получить массив, расположив в его начале элементы массива A, а затем — элементы массива B
C++ Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции
C++ Записать элементы массива Х в массив У, сместив элементы массива Х вправо на 3 позиции
Упорядочить элементы массива, располагая в первой его половине элементы, стоявшие на четных позициях C++
C++ Парные элементы массива уменьшить вдвое, нечетные элементы заменить их квадратом
C++ Элементы заданного массива расположить в обратном порядке. Правильно ли решена задача?
C++ Не удаляются одинаковые элементы списка
Скопировать все элементы массива с четным индексом, слева от которых элементы с нечетным значением C++
Не полностью удаляются дубликаты из массива C++

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

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

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