Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.12.2017, 13:37   #1
Topfifer
Новичок
 
Регистрация: 20.12.2017
Сообщений: 6
Репутация: 10
По умолчанию В заданной строке посчитать количество разных символов,входящих в эту строку

В заданной строке посчитать количество разных символов,входящих в эту строку
Topfifer вне форума   Ответить с цитированием
Старый 20.12.2017, 13:38   #2
alexcoder
Участник клуба
 
Регистрация: 31.05.2009
Сообщений: 735
Репутация: 410

skype: alexcoder1
По умолчанию

Topfifer, обращайтесь e-mail: informatik101@mail.ru vk.com/alexcoder1
__________________
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума   Ответить с цитированием
Старый 20.12.2017, 14:28   #3
JIeIIIa
Форумчанин
 
Регистрация: 21.12.2011
Сообщений: 54
Репутация: 22
По умолчанию

Если еще актуально, пишите: stealth(собака)bigmir.net
Сразу указывайте на когда нужна работа и предполагаемый бюджет.
JIeIIIa вне форума   Ответить с цитированием
Старый 20.12.2017, 14:40   #4
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,874
Репутация: 6285
По умолчанию

Щас ТС скажет, что на языке Brainfuck ))
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар на форуме   Ответить с цитированием
Старый 20.12.2017, 16:02   #5
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,420
Репутация: 885

skype: aleksandr.gryb
По умолчанию

есть на шарпе быстрее решение?
Код:

public static void Main(string[] args)
        {
           string line = "Rextester.Program.Main is the entry point for your code. Don't change it.";
           List<char> lst = new List<char>();
           for(int i=0;i<line.Length;i++)
           {
               if(lst.IndexOf(line[i])==-1) lst.Add(line[i]);
           }
           lst.Sort();
           foreach (char cr in lst)
           {
               string helpLine = line.Replace(cr.ToString(), "");
               Console.WriteLine("{0}:\t{1}",cr,line.Length-helpLine.Length);
           }
        }

__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Старый 21.12.2017, 12:34   #6
Thread
Новичок
 
Аватар для Thread
 
Регистрация: 08.06.2011
Сообщений: 1
Репутация: 12
По умолчанию

Aleksandr H.

есть. табличный способ быстрее должен работать чем со списком
учитывая что у Вас поиск и замена.

выделить битовый массив BitArray на 256, проход по буквам строки, выставить флаги, потом подсчет
__________________
cyber4401@gmail.com

Последний раз редактировалось Thread; 21.12.2017 в 12:38.
Thread вне форума   Ответить с цитированием
Старый 21.12.2017, 12:39   #7
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,420
Репутация: 885

skype: aleksandr.gryb
По умолчанию

Thread
Такой вариант рассматривал, только почему-то посчитал что не все символы из строки будут иметь ASCII-код
__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Старый 21.12.2017, 13:20   #8
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 16,793
Репутация: 3300

icq: 512-765
skype: alexp.frl
По умолчанию

HashSet/Dictionary универсальнее и должно быть намного быстрее .IndexOf, особенно если много разных символов.
Alex11223 на форуме   Ответить с цитированием
Старый 21.12.2017, 14:06   #9
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,420
Репутация: 885

skype: aleksandr.gryb
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
HashSet/Dictionary универсальнее
Вариант со словарем
Код:

public static void Main(string[] args)
        {
           string line = "Rextester.Program.Main is the entry point for your code. Don't change it.";
           Dictionary<string, int> Letters = new Dictionary<string, int>();
           for(int i=0;i<line.Length;i++)
           {
               if(Letters.ContainsKey(line[i].ToString())) Letters[line[i].ToString()] += 1;
               else Letters.Add(line[i].ToString(),1);
           }
           foreach (KeyValuePair<string,int> keyValue in Letters)
               Console.WriteLine(keyValue.Key + " - " + keyValue.Value);
        }

__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Assembler: Создать и отладить программу, которая в заданной строке Str db 'задание' подсчитывает количество символов 'а' и выводит полученную величину на экран Zhan1234 Assembler 5 28.04.2017 12:33
Функцию, которая принимает в качестве параметра строку и символ и вычисляет количество таких символов в строке (Delphi) Loqwer78rus Помощь студентам 10 06.05.2014 10:52
азаработать программу Подсчета числа символов указанного типа в любой заданной строке символов . slava5170 Общие вопросы C/C++ 4 03.11.2013 02:18
Посчитать количество таких символов в строке HSR Общие вопросы Delphi 4 19.11.2012 14:23
Ввести с клавиатуры строку. Посчитать количество слов в строке. Определить, что является разделителем слов. Вывести рез-ть на экра Газимов Assembler 3 02.03.2012 15:58


15:11.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru