@alex_memex
студент программист джуниор

Строки в с плюсах?

только начал изучать плюсы и дошел до строк, возникла проблема в подсчете количества одинаковых по длине слов в строке
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
Gremlin92
@Gremlin92
Ленивый и безъинициативный
набросаю-ка тебе псевдоалгоритм
строка
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
    string str="bla fig tebe loh";
    struct data{
        string vec;
        int counter=0;
    };
    vector<data> v;
    data tmp;
    string substr="";
    for(int i=0;i<str.length();i++)
    {
        if(str[i] != 32)
              substr+=str[i];
        else
        {
              tmp.counter=0;
              tmp.vec = substr;
              v.push_back(tmp);
              substr="";   
        } 
    } 
    tmp.counter=0;
    tmp.vec = substr;
    v.push_back(tmp);
    for(int i=0;i<v.size();i++)
    {
        //cout<<v[i].vec<<" ";
        for(int j=0;j<v.size();j++)
            if(v[i].vec.length() == v[j].vec.length()/* && i!=j*/)
            {
                v[i].counter++;
                v[j].counter++;
                cout<<v[i].vec<<" "<<v[j].vec<<'\n';
            }
    }
    for(int i=0;i<v.size();i++)
    {   
        v[i].counter/=3;
        std::cout<<'\n'<<v[i].vec<<" "<< v[i].counter;
    }
}

на самом деле тебе надо на пушбекать образцы слов от 1 символа и до максимального в языке который в тексте и потом сравнивать с пушбеканными словами из строки с установленными разделителями (32 символ пробела), смотри таблицу аски
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы