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

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

Войти
Регистрация
Восстановить пароль
 
Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
#1

Удалить из символьного одномерного массива повторяющиеся символы - C++

30.05.2011, 15:54. Просмотров 693. Ответов 7
Метки нет (Все метки)

пожалуйста подскажите!!!!
как удалить из символьного одномерного массива повторяющиеся символы?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Удалить из символьного одномерного массива повторяющиеся символы (C++):

сортировка одномерного символьного массива из файла - C++
//Пузырьковая сортировка по убыванию (прямое направление) вот прога. считывает и выводит на экран буквы из файла "in.txt" но...

Удалить повторяющиеся символы из списка - C++
Удалить повторяющиеся символы из списка.с помощью двусвязного списка

Удалить повторяющиеся символы в массиве - C++
Доброго времени суток форумчане! у меня такая задачка: нужно найти и удалить все повторяющиеся элементы в массиве... я выбрал...

Удалить из строки все повторяющиеся символы - C++
как удалить со строки все повторяющиеся символы???? заранее благодарен!

Удалить * из символьного массива - C++
Надо проверить текст из Edit1 и удалить из него * void __fastcall TForm1::Button1Click(TObject *Sender) { int i; char...

Удалить символ из символьного массива - C++
Дана строка, если она является палиндромом, то вывести запись. Если не палиндром, то дополнить эту строку ее "зеркальным отражением", но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DVJ
1 / 1 / 0
Регистрация: 30.05.2011
Сообщений: 14
30.05.2011, 16:08 #2
Когда заполнил массив, начинай его читать в цикле. потом создай переменную, в которую по очереди заносятся все значения массива. и сравнивай ее с остальными
1
Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
30.05.2011, 20:15  [ТС] #3
Спасибо)
0
DVJ
1 / 1 / 0
Регистрация: 30.05.2011
Сообщений: 14
31.05.2011, 19:03 #4
Код написала?
0
Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
01.06.2011, 13:37  [ТС] #5
да, ток у мя там что-то неправильно он работает, но часть где удалить повторяющиеся символы работает неправильно...
Вообще задание звучит так:
Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов символьного одномерного массива. Удалить из него повторяющиеся символы и отсортировать по алфавиту (методом выбора). Результат вывести на экран. Код вечером скину, а то я не дома
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.06.2011, 13:46 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
#include <map>
#include <algorithm>
int main(){
    std::string s;
    std::getline(std::cin,s);
    std::map<char,int> m;
    for (std::string::iterator i=s.begin();i < s.end(); i++)
        if (m[*i]) --i=s.erase(i); else m[*i]++;
    std::sort(s.begin(),s.end());
    std::cout << s;
    return 0;
}
1
asics
Freelance
Эксперт С++
2847 / 1784 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
01.06.2011, 14:04 #7
Цитата Сообщение от Mashhha Посмотреть сообщение
Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов символьного одномерного массива. Удалить из него повторяющиеся символы и отсортировать по алфавиту (методом выбора).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <set>
#include <string>
#include <algorithm>
#include <iterator>
#include <sstream>
 
int main(){
  std::string s;
  getline(std::cin, s);
  std::istringstream ist(s);
  std::istream_iterator<char> st(ist), fn;
  std::set<char> stt(st, fn);
  std::copy(stt.begin(), stt.end(), std::ostream_iterator<char>(std::cout, " "));
  return 0;
}
1
Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
02.06.2011, 10:37  [ТС] #8
Посмотрите пожалуйста, а что в моем коде было не так?)))
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
#include<stdio.h>
#include<string.h>
#include <conio.h>
void main()
{
    char  A[11];
    int i,j,k,f,n,p;
    char b;
    
    printf("Vvedite massiv A\n");
    for(i=0; i<10; i++)
    {
        printf("Vvedite A[%d]=",i);
        scanf("%s", &A[i]);
        printf("\n");
    }
    printf("vvedenniy massiv\n");
    for(i=0; i<10; i++)
        printf("A[%d]= %c \n",i,A[i]);
 
 
      printf("\nEnten number of elements: ");
        scanf("%u",&n);
        printf("\nEnter elements: ");
        for (i=0; i<n; i++)
                scanf("%u",&p[i]);
 
    
    for(j=0; j<9; j++)
        for(i=j+1; i<10; i++)
        {if(A[j]==A[i]) 
            {
                A[i]=A[i+1];    
            } 
        }
        f=strlen(A);
    printf("massiv posle udaleniya povtorov \n");
    for(i=0; i<f; i++)
        printf("A[%d]= %c \n",i,A[i]);
    
  n=9;
  for (i = 0; i < n - 1; i++) 
  { 
    for (k = i, j = i + 1; j < n; j++) /* находим в цикле */ 
      if(A[j] < A[k])   /* минимальный элемент */ 
        k = j;          /* и запоминаем его номер в k */ 
    b=A[i];A[i]=A[k];A[k]=b; /* меняем местами минимальный и элем., */
  }                     /* с которого начинался цикл */ 
  printf("massiv posle sortirovki \n");
for(i=0; i<f; i++)
        printf("A[%d]= %c \n",i,A[i]);
}
Добавлено через 49 секунд
Всем спасибо за помощь))

 Комментарий модератора 
Используйте теги форматирования кода!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 10:37
Привет! Вот еще темы с ответами:

Как удалить элемент символьного массива? - C++
Собственно,в этом весь вопрос.:) Например,находимся мы в массиве из строк (char str) .Неважно в каком месте(допустим,на 5...

Вывести упорядочены по убыванию повторяющиеся элементы произвольного одномерного массива - C++
Вывести упорядочены по убыванию повторяющиеся элементы произвольного одномерного массива целых чисел и число этих повторений.

Удалить из массива повторяющиеся элементы - C++
Удалить из массива повторяющиеся элементы.жду вашим решений

Из массива удалить все повторяющиеся элементы - C++
Из заданного целочисленного массива удалить все повторяющиеся элементы, оставив только их первые вхождения, т.е. из заданного массива...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.06.2011, 10:37
Ответ Создать тему
Опции темы

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