Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/25: Рейтинг темы: голосов - 25, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 57
1

Как убрать одинаковые символы в строке и вывести их в столбец?

01.04.2018, 19:32. Показов 4461. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Задача такова что нужно из введенной в консоль строки убрать повторяющиеся символы и вывести обработанную строку в столбец. Вроде задача простая на 4 строчки кода, но весь прикол в том, что нужно это сделать без библиотек! А как это сделать я не знаю, не очень шарю еще. Прошу помощи )
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2018, 19:32
Ответы с готовыми решениями:

символы '#$D#$A' - в строке. Отображаются как перенос строки. Нужно убрать. Не дают перейти по ссылке в которой есть эти символы
символы '#$D#$A' - в строке. Отображаются как перенос строки. Нужно убрать. Не дают перейти по...

Если в строке массива есть одинаковые символы, то упорядочить символы строки в алфавитном порядке
Дан массив строк. Если в строке массива есть одинаковые символы, то упорядочить символы строки в...

Как в строке убрать все символы до первого пробела (включительно)
Нужен простой экзешник, который будет переименовывать много файлов в папке. По общему принцыпу. ...

Как убрать из выпадающего списка дубликаты значений и вывести одинаковые значения в таблицу
Здравствуйте! Понадобилась помощь гуру в области EXCEL не могу понять как решить несколько задач, а...

8
2354 / 1772 / 212
Регистрация: 07.01.2011
Сообщений: 10,342
01.04.2018, 22:46 2
Цитата Сообщение от XcyperX Посмотреть сообщение
что нужно это сделать без библиотек
Не очень понимаю, что нужно подразумевать под "без библиотек"? Типу тебе надо придумать какой то алгоритм и ничего юзать нельзя?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace CyberForumProject
{
    public class Program
    {
        static void Main(string[] args)
        {
            string str = "123455677890";
 
            IEnumerable<char> newStr = str.Distinct();
 
            foreach(var s in newStr)
            {
                Console.WriteLine(s);
            }
        }
    }    
}
Такой вариант тебе не подходит?
1
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 57
02.04.2018, 08:54  [ТС] 3
str.Distinct(); Нельзя использовать. Только стандартные функции c# такие как цыклы условия и так далее
0
263 / 224 / 108
Регистрация: 09.12.2015
Сообщений: 652
02.04.2018, 10:12 4
Цитата Сообщение от XcyperX Посмотреть сообщение
Только стандартные функции c# такие как цыклы условия и так далее
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
using System;
 
namespace Temp
{
   class Program
   {
      static void Main(string[] args)
      {
         string str = "123455677890";
 
         int n = 0;
         char[] arr = new char[str.Length];
         for(int i = 0; i < str.Length; ++i)
         {
            if(!IsInside(arr, str[i]))
            {
               arr[n++] = str[i];
            }
         }
         for(int i = 0; i < n; ++i)
         {
            Console.WriteLine(arr[i]);
         }
         Console.ReadKey();
      }
 
      private static bool IsInside(char[] arr, char c)
      {
         for(int i = 0; i < arr.Length; ++i)
         {
            if(arr[i] == c) return true;
         }
         return false;
      }
   }
}
1
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 57
02.04.2018, 10:12  [ТС] 5
И там не только цифры, но и разные слова через пробел
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
02.04.2018, 10:30 6
XcyperX,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void Main()
{       
    string src = Console.ReadLine ();
    char[] arr = new char[src.Length];
    int n = -1;
    for (int i = 0; i < src.Length; i++) {
        int j = n;
        while (j >= 0) {
            if (src [i] == arr [j])
                break;
            j--;
        }
        if (j < 0)
            arr [++n] = src [i];
    }
    string dst = new string (arr, 0, n + 1);
    Console.WriteLine (dst);
}
Забыл про вывод в столбец, ну да ладно.
0
0 / 0 / 0
Регистрация: 21.01.2018
Сообщений: 22
02.04.2018, 10:32 7
Это же или
0
672 / 475 / 215
Регистрация: 06.09.2013
Сообщений: 1,306
02.04.2018, 10:38 8
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void Main()
{       
    string src = Console.ReadLine ();
    char[] arr = new char[src.Length];
    int n = -1;
    for (int i = 0; i < src.Length; i++) {
        int j = n;
        while (j >= 0) {
            if (src [i] == arr [j])
                break;
            j--;
        }
        if (j < 0) {
            arr [++n] = src [i];
            Console.WriteLine (arr[n]);
        }
    }
}
0
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 57
02.04.2018, 11:46  [ТС] 9
Блин, оно убирает одинаковые символы, а если мне надо слова проверить?
0
02.04.2018, 11:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2018, 11:46
Помогаю со студенческими работами здесь

Одинаковые символы в строке
Помогите дописать программу , пожалуйста . Задание : Дана строка . Найти наибольшее количество...

Есть ли одинаковые символы в строке
парни выручайте) от души прям жду помощи #include &lt;iostream.h&gt; #include &lt;string.h&gt; using...

Найти одинаковые символы в строке и заменить их на последовательность
Задача: найти одинаковые символы в строке и заменить их на последовательность x(k) - где x -...

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


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

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