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

Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот символ

24.10.2016, 18:38. Показов 3028. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с задачей на C#
Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот символ. Результат вывести на экран.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2016, 18:38
Ответы с готовыми решениями:

Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз его
Ввести строку символов. Если символ в данной строке встречается один раз, в конце строки добавлять...

Задан один отдельный символ. Определить, сколько раз встречается этот символ в каждой строке текстового файла
Есть программа, которая считывает количество повторяемых символов в текстовом файле, и показывает...

Задана строка текста длиной не менее двадцати символов и задан один отдельный символ. Вычислить, какое количество раз этот символ встречается в строке
1. Ввести множество, запись или строку с помощью клавиатуры. 2. Вывести на экран монитора исходную...

Сколько раз в данной строке встречается символ + и сколько раз символ *
1. Дана строка символов. Подсчитать: a) сколько раз в данной строке встречается символ + и сколько...

7
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
24.10.2016, 18:43 2
NIKONCHIK,
1) Ввести строку символов. -> Console.ReadLine();
2) Если символ в данной строке встречается один раз, в конце строки добавлять ещё раз этот символ. -> Ошибка компиляции, переменная не объявлена.
0
343 / 305 / 135
Регистрация: 14.03.2015
Сообщений: 1,147
Записей в блоге: 1
24.10.2016, 18:44 3
Куда ввести строку символов? В консоль\textbox\input type="text"\etc?

Ну и классика: в чем у вас проблемы конкретно? Есть наработки?
0
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
24.10.2016, 19:55 4
готово
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
using System;
class demo
{
    static void Main()
    {
        bool once = true;
        string s = Console.ReadLine(),s2 =s;
        do
        {
            for (int j = 1; j < s.Length; j++)
            {
                if (s[0] == s[j])
                {
                    once = false;
                    break;
                }
            }
            if (once) s2 += s[0];
            s = s.Replace(Convert.ToString(s[0]), "");
            once = true;
        } while (s.Length > 0);
        Console.WriteLine(s2);
    }
}
0
0 / 0 / 0
Регистрация: 16.04.2016
Сообщений: 8
25.10.2016, 19:00  [ТС] 5
А можно с комментариями к задаче помочь чтоб разобраться
0
212 / 210 / 137
Регистрация: 21.12.2015
Сообщений: 545
25.10.2016, 22:02 6
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
using System;
class demo
{
    static void Main()
    {
        bool once = true;// встречается ли буква один раз(если да то true, если нет false )
        string s = Console.ReadLine(), s2 = s;//считать строку с консоли, и присвоить её значение s и s2
        do
        {
            for (int j = 1; j < s.Length; j++)//цикл, в котором проходит проверка
            {
                if (s[0] == s[j])//если встречается второй символ
                {
                    once = false;//символ встречается 2 раза
                    break;//прервать цикл
                }
            }
            if (once) s2 += s[0];//если символ встречается один раз добавить его в конец
            s = s.Replace(Convert.ToString(s[0]), "");//убрать проверенный символ из строки
            once = true;//вернуть исходное значение
        } while (s.Length > 0);//проверить длину строки
        Console.WriteLine(s2);//вывести отредактированную строку
    }
}
Добавлено через 19 секунд
NIKONCHIK, какая строка кода непонятна?
0
343 / 305 / 135
Регистрация: 14.03.2015
Сообщений: 1,147
Записей в блоге: 1
26.10.2016, 03:08 7
Я думал, что есть способ легче..
C#
1
2
3
4
5
6
7
8
string message = "this mehssage"; // Console.ReadLine();
            
           var result = from a in message
               where message.Count(x=> x==a) <= 1
               select a;
           
            result.ToList().ForEach(x=> message +=x); 
            Console.WriteLine(message);
0
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
26.10.2016, 09:32 8
C#
1
2
3
string message = "this mehssage"; // Console.ReadLine();
message += new string(message.GroupBy(c=>c).Where(g=>g.Count()<2).Select(g=>g.First()).ToArray());
Console.WriteLine(message);
Добавлено через 3 минуты
или так:
C#
1
message += string.Join("",(message.GroupBy(c=>c).Where(g=>g.Count()<2).SelectMany(g=>g)));
Добавлено через 3 минуты
Ну или как было написано выше:
C#
1
message += string.Join("",(message.Where(c=>message.Count(x=>x==c)<2)));
0
26.10.2016, 09:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.10.2016, 09:32
Помогаю со студенческими работами здесь

Сокращение строки каждый раз на один символ до тех пор, пока в строке не останется один символ
3)Напишите программу, которая вводит строку и выводит ее, сокращая каждый раз на 1 символ до тех...

Подсчитать, сколько раз встречается в данной строке указанный символ
При построении выводится Warning: No stack При запуске программы выводит только единицы. В чем...

Вывести строки, в которых символ «*» встречается не менее 2 раз и заменить символ «*» на символ «_»
День добрый. Имеется условие лабы. Написать программу, в которой с клавиатуры вводится до 10...

Строка: Подсчитать, сколько раз встречается в данной строке указанный символ
Здравствуйте, у меня тут такие задачи надо решить. Я новичок, и не очень понимаю всю суть...


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

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