Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 4

Строка, нет повторяющихся символов

08.06.2010, 16:56. Показов 1353. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток! Буду краток насколько это возможно! Задача:Задан текст, состоящий из слов, записанных через запятые, и заканчивающийся точкой. Длина текста не больше 200 символов, могут быть использованы любые символы. Словом считать последовательность символов, не содержащую пробел. 1. Выдать слова текста и их длины. 2.Сформировать новую строку, в которой нет повторяющихся слов. 3. Получить массив результатов возведения в куб цифровых слов. С решением первой и третьей части проблем нет, все работает! Не могу решить 2 часть. Если кто нтбудь знает принцип решения, просьба напишите! P.S. использовать метод класса CString
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
08.06.2010, 16:56
Ответы с готовыми решениями:

Строка: напечатать слова, которые удовлетворяют следующему свойству: в слове нет повторяющихся букв
Доброго времени суток. помогите написать программу в С++. Дан текст. Напечатать те слова, которые удовлетворяют следующему свойству: в...

Записать строку в 1 файл, сделать там проверку и найти слова, в которых нет повторяющихся символов
Вообщем дали задание на работу с файлами. Надо записать строку в 1 файл, сделать там проверку и найти слова, в которых нет повторяющихся...

Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить символы B в порядке, обратном к алфавитном
Привет, форумчане! Дано задание: >Даны строки A и B. Если в A есть символы из B и в B нет повторяющихся символов, то упорядочить...

6
 Аватар для Manjak
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
08.06.2010, 17:22
Отсортировать лексикографически слова, скормить результат функции unique
1
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 4
08.06.2010, 17:26  [ТС]
А поподробнее можно?=) я С++ не так давно изучать начал! как отсортировать лексикографически?
0
 Аватар для Manjak
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
08.06.2010, 17:47
Как с работы вернусь - напишу как это сделать попроще
Реализуй ввод слов в массив и напиши сюда, а я покажу как получить уникальные(не буду писать полностью ибо код тебе для понимания сложным будет)
1
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 4
09.06.2010, 15:53  [ТС]
хорошо =)

Добавлено через 10 часов 24 минуты
Здесь полностью весь код, выделенная функция должна вывести строку без повторяющихся слов. Ф-ции str_sl и chisl_kub это разбитие строки на массив слов и вывод куба цифровых слов соответственно.
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#include <iostream.h>
 
#include <stdlib.h>
 
#include <afx.h>
 
#include <string.h>
 
int str_sl(CString,CString,CString,CString [20]);
 
int chisl_cub(int,CString[20],int[20]);
 
CString pov_sl(int,CString [20]);;
 
void main(){CString mslov[20],rez;
 
int i,mm,n,mch[20];
 
char *cstr;
 
cstr=strdup("");
 
cout<<"Vvedite stroky"<<endl;
 
cin>>cstr;
 
CString x(cstr);
 
n=str_sl(x,",",".",mslov);
 
for (i=0;i<n;i++) 
 
{cout<<"Slovo nomer "<<i+1<<" "<<mslov[i]<<" dlina  "<<mslov[i].GetLength()<<endl;}
 
mm=chisl_cub(n,mslov,mch);
 
if (mm==0) cout <<"net chislovbix slov "<<endl;
 
else
 
{for (i=0;i<mm;i++) cout<<mch[i]<<" ";cout<<endl;}
 
rez=pov_sl(n,mslov);
 
if (rez.IsEmpty()) cout <<"net nechislovbix slov"<<endl;
 
else cout<<rez<<endl;
 
}
 
//---
 
int str_sl(CString x,CString rsl,CString kstr,CString mslov[20])
 
{int n=0,nm,l;
 
//char *adrz;
 
do {l=x.GetLength();
 
nm=x.Find(rsl);
 
if (nm==-1)
 
nm=x.Find(kstr);//rsl=kstr;
 
mslov[n]="";
 
mslov[n]=x.Left(nm);
 
x=x.Right(l-nm-1);
 
n++;
 
} while(x.Compare("")!=0);
 
return n;
 
}
 
//---
 
int chisl_cub(int n,CString mslov[20],int mch[20])
 
{int l=0,i,b;CString r;
 
for(i=0;i<n;i++)
 
{r=mslov[i].SpanIncluding("1234567890");
 
if (r.GetLength()==mslov[i].GetLength()){b=atoi(mslov[i]); mch[l]=b*b*b;l++;
 
}}
 
return l;
 
}
Добавлено через 11 часов 5 минут
fatal error C1004: unexpected end of file found а что означает такая ошибка в коде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
CString pov_sl(int n,CString mslov[20])
 
{int i,j,cnt=0,p;
 
CString rezstr,x,r;
 
rezstr="";
 
for (i=0;i<n;i++)
{
    x=mslov[i];
{
    for(j=i+1;j<n;j++)
if (x.Compare("mslov[j]")!=0)
cnt=cnt+0;
else 
cnt=cnt+1;
 
if (cnt = 0)
rezstr+=x; rezstr+=",";
 
}}
return rezstr;
Добавлено через 34 минуты
тут обновление новое после мозогового штурма=) вот новый код, который при компиляции выдает 0ошибок! но и врезультат записывает только пустую строку! наведетите на мысль плз, может в циклах где то накосячил?!
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
CString pov_sl(int n,CString mslov[20])
 
{int i,j,cnt=0;
 
CString rezstr,x,r;
 
rezstr="";
 
for (i=0;i<n;i++)
{
    x=mslov[i];
{
    for(j=i+1;j<n;j++)
if (x.Compare("mslov[j]")!=0)
cnt=cnt+0;
else 
cnt=cnt+1;
}
if (cnt = 0)
rezstr+=x; rezstr+=",";
 
}
return rezstr;
}
0
 Аватар для Manjak
270 / 176 / 46
Регистрация: 12.03.2010
Сообщений: 494
09.06.2010, 21:33
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
#include <iterator>
#include <algorithm>
#include <vector>
#include <string>
using namespace std; 
 
int str_sl(string&, vector<string>&);
 
int main()
{
    vector<string> words;
    vector<string>::iterator pos;
    string rez,
           cstr;
 
    int i, 
        mm,
        n,
        mch[20];
 
    cout << "Vvedite stroky" << endl;
        getline(cin, cstr, '\n');
 
    n = str_sl(cstr, words);
 
    for (i=0; i < n; i++) 
        cout << "Slovo nomer " << i+1 << " " << words[i] << "; dlina: " << words[i].size() << endl;
 
    sort(words.begin(), words.end());
    unique_copy(words.begin(), words.end(), ostream_iterator<string>(cout, "\n"));  
    
 
    system("pause");
    return 0;
}
 
//---
  
int str_sl(string& in, vector<string>& outArray)
 
{
    string::size_type beg = 0,
                      end = 0;
    
    while((beg = in.find_first_not_of(",. ", end)) != string::npos)
    {
        end = in.find_first_of(",. ", beg);
        outArray.push_back(in.substr(beg, end - beg));
    }
    return outArray.size();
}
Часть поправил, но мысль оставил ту же, по своему ничего не писал Зачем туда плести CString не ясно. (Если компилировать в борланде то будет материться на хидеры)
1
0 / 0 / 0
Регистрация: 08.06.2010
Сообщений: 4
11.06.2010, 18:07  [ТС]
Здравствуй Manjak хочу выразить свою огромную благодарность за помощь в теме! =) Хорошо что есть такие люди как ты, которые нашди время и не поленились вникнуть и порешать чужие "неинтересные" проблемы! В общем огромное спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2010, 18:07
Помогаю со студенческими работами здесь

Дана строка символов. Проверьте,является ли данная строка палиндромом
Парни нужна помощь,нужен код решения этой задачи на языке с++. Дана строка символов. Проверьте,является ли данная строка палиндромом.

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

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

Удаление повторяющихся символов
из последовательности символов удалить самую большую из одинаковых элементов допустим есть строка aabbbbzcc, на выходе aazcc ...

замена повторяющихся символов
всем привет:) можете подсказать, пожалуйста)) в общем такая задача: у нас на входе есть строка, которая вводилась с залипанием...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru