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

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

Восстановить пароль Регистрация
 
Mashhha
 Аватар для Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
30.05.2011, 15:54     Удалить из символьного одномерного массива повторяющиеся символы #1
пожалуйста подскажите!!!!
как удалить из символьного одномерного массива повторяющиеся символы?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DVJ
1 / 1 / 0
Регистрация: 30.05.2011
Сообщений: 14
30.05.2011, 16:08     Удалить из символьного одномерного массива повторяющиеся символы #2
Когда заполнил массив, начинай его читать в цикле. потом создай переменную, в которую по очереди заносятся все значения массива. и сравнивай ее с остальными
Mashhha
 Аватар для Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
30.05.2011, 20:15  [ТС]     Удалить из символьного одномерного массива повторяющиеся символы #3
Спасибо)
DVJ
1 / 1 / 0
Регистрация: 30.05.2011
Сообщений: 14
31.05.2011, 19:03     Удалить из символьного одномерного массива повторяющиеся символы #4
Код написала?
Mashhha
 Аватар для Mashhha
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 21
01.06.2011, 13:37  [ТС]     Удалить из символьного одномерного массива повторяющиеся символы #5
да, ток у мя там что-то неправильно он работает, но часть где удалить повторяющиеся символы работает неправильно...
Вообще задание звучит так:
Разработать приложение, выполняющее следующие функции. Ввести с клавиатуры значения элементов символьного одномерного массива. Удалить из него повторяющиеся символы и отсортировать по алфавиту (методом выбора). Результат вывести на экран. Код вечером скину, а то я не дома
diagon
Higher
 Аватар для diagon
1920 / 1186 / 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;
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 10:37     Удалить из символьного одномерного массива повторяющиеся символы
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Mashhha
 Аватар для 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 секунд
Всем спасибо за помощь))

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

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