Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2011, 23:23   #1
маня123
Новичок
Джуниор
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию трудность в написании программы в С++

8. Создать приложение которое считывает строку текста и подсчитыва¬ет, сколько раз заданный символ встречается в этой строке. При вводе символа не позволять пользователю вводить более одного.
маня123 вне форума Ответить с цитированием
Старый 16.05.2011, 23:26   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

Я вижу только условие задачи. А трудность-то в чем, Маня? o_0
Rififi вне форума Ответить с цитированием
Старый 16.05.2011, 23:38   #3
маня123
Новичок
Джуниор
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию

трудности в алгоритме...я даже не знаю с чего начать((
маня123 вне форума Ответить с цитированием
Старый 16.05.2011, 23:44   #4
маня123
Новичок
Джуниор
 
Регистрация: 16.05.2011
Сообщений: 4
По умолчанию

вот это не то???

Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
  
namespace ArticleAnalyzer
{
class Program
{
static void Main(string[] args)
{
StreamReader sr;
//sr = File.OpenText("C:\\MyTxt.txt");
string alltext = File.ReadAllText("C:\\MyTxt.txt", Encoding.GetEncoding(1251));
//string alltext = sr.ReadToEnd();
//string[] words = alltext.Split(new char[] { ' ' });
string[] words = SplitWords(alltext);
/*
foreach (var word in words)
{
Console.WriteLine(word+"\n");
}
25.* */
var dic = new Dictionary();

for(int i=0; i<words.Length; i++)
{
if(!dic.ContainsKey(words[i]))
{
int cnt = 0;
for(int j=i;j<words.Length;j++)
{
if(words[j]==words[i])
{
cnt++;
}
}
dic.Add(words[i], cnt);
cnt = 0;
}
}
var items = from k in dic.Keys
orderby dic[k] descending
select k;
  
foreach (var i in items)
{
if(dic[i]>=4)
Console.WriteLine("Word/Cnt: " + i+"/"+ dic[i]);
}
Console.ReadKey();
}
static string[] SplitWords(string s)
{
return Regex.Split(s, @"\W+");
}
}
}

Последний раз редактировалось ACE Valery; 17.05.2011 в 02:16.
маня123 вне форума Ответить с цитированием
Старый 17.05.2011, 00:06   #5
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,120
По умолчанию

Я так понял, что Вы совсем "никакая", так что держите готовое решение, не напрягайте мозг, это может быть вредно ((((:

Код:
#include <string>
#include <algorithm>
#include <iostream>

int main()
{
   std::string s;
   std::getline(std::cin, s);
   
   const char symbol = 'z'; // подсчитываем этот символ
   std::cout << std::count(s.begin(), s.end(), symbol) << std::endl;

   return 0;
}
Вот пример работы для заранее заданной строки: http://codepad.org/WPE1C6np
Rififi вне форума Ответить с цитированием
Старый 17.05.2011, 00:38   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
const char symbol = 'z';
Интересный запрет ввода пользователем более 1 символа)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
трудность в написании программы в С++ маня123 Помощь студентам 2 16.05.2011 23:54
помощь в написании программы TF_Studio Фриланс 14 03.09.2009 13:04
Просьба в написании программы :( lerochka Помощь студентам 16 13.06.2009 21:08
Помощь в написании программы prog1 Фриланс 5 02.06.2008 19:50