Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
1

раздвинуть слова(символами)

25.05.2013, 11:23. Просмотров 518. Ответов 5
Метки нет (Все метки)

после i-того символа в каждом слове раздвинуть его, вставив определенную строчку (несколько символов, можно 1 символ)
надо чтоб если символов в слове 3, а раздвинуть надо через 5й символ, то это слово нужно пропустить - не знаю как
и еще одна проблемка если в слове 5 символов, раздвинуть надо через 3, то повторяет 3й символ(после вставленной последовательности) - это тоже не достаток

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
#include <vcl.h>
#include <stdio.h>
#include <values.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"//-------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;//--------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)    { }//--------------------------------
void mathErrorMsg (EMathError *E) {
 AnsiString S = "Ошибка вычислений: ";
 if (E->Message == "EZeroDivide") S += "деление на нуль";
 if (E->Message == "EOverflow") S += "переполнение";
 if (E->Message == "EInvalidArgument") S += "недопустимое число";
 Application->MessageBox(S.c_str(), "Повторите ввод", MB_OK);
}
void __fastcall TForm1::Button1Click(TObject *Sender) {
int k;
        TStringList *List = new TStringList;
        List->DelimitedText = Memo2->Text;
          String s2 = String(Edit2->Text);
          k=StrToInt(Edit3->Text);
        for (int i=0;i<List->Count;i++){
        String s=List->Strings[i];
      s=s.SubString(1,k)+s2+s.SubString(k,255);
    static int j;
    AnsiString resultStr =s+" ";
    Memo1->Lines->Add(resultStr);
} }//---------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Memo1->Lines->Clear();
Memo2->Lines->Clear();
Edit2->Text="";
Edit3->Text="";
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2013, 11:23
Ответы с готовыми решениями:

Проблемы с русскими символами
Здравствуйте. Столкнулся с такой ситуацией, есть Firebird 2.5 UTF-8, С++...

OnKeyDown не работает с символами
почему OnKeyDown не работает с символами, или как можно научить его с ними...

Работа с символами из строки Edit
Не хватает теории; поэтому парадоксы... Задача: в поле Edit1 вводится до 11...

Тема сообщения приходит символами
На почту приходит нормальный текст, проблема только с Темой сообщения, приходит...

работа с символами ANSI (Экзамен)
Здравствуйте! Помогите с написание программы. Нужно вывести таблицу ANSI, с...

5
Lelik-pahan
1364 / 782 / 175
Регистрация: 25.11.2009
Сообщений: 1,596
Завершенные тесты: 1
25.05.2013, 12:39 2
Цитата Сообщение от MaRiNk Посмотреть сообщение
после i-того символа в каждом слове раздвинуть его, вставив определенную строчку (несколько символов, можно 1 символ)
надо чтоб если символов в слове 3, а раздвинуть надо через 5й символ, то это слово нужно пропустить - не знаю как
и еще одна проблемка если в слове 5 символов, раздвинуть надо через 3, то повторяет 3й символ(после вставленной последовательности) - это тоже не достаток
MaRiNk, тебе самому хоть понятно то, что ты написал?
0
LK
Заблокирован
25.05.2013, 12:57 3
код мерзско форматирован и вапче не работает
0
Миниатюры
раздвинуть слова(символами)  
MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
25.05.2013, 13:54  [ТС] 4
Цитата Сообщение от Lelik-pahan Посмотреть сообщение
MaRiNk, тебе самому хоть понятно то, что ты написал?
мне понятно.
0
MaRiNk
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 62
25.05.2013, 14:00  [ТС] 5
Цитата Сообщение от LK Посмотреть сообщение
и вапче не работает
у меня все работает
нужна доработка
0
Миниатюры
раздвинуть слова(символами)  
LK
Заблокирован
25.05.2013, 14:29 6
ну, коль вам
Цитата Сообщение от MaRiNk Посмотреть сообщение
понятно.
и
Цитата Сообщение от MaRiNk Посмотреть сообщение
все работает
, то и доработка не должна составить труда.
Цитата Сообщение от MaRiNk Посмотреть сообщение
если символов в слове 3
выводите сообщение и делайте
C++
1
2
3
return;
// or
Abort();
Цитата Сообщение от MaRiNk Посмотреть сообщение
повторяет 3й символ
- банально, но - искать ошибку в цикле, судя по всему.
0
25.05.2013, 14:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.05.2013, 14:29

Получение размера файла с кирилическими символами
Есть код: std::fstream fp2(Memo9-&gt;Lines-&gt;Strings.w_str() , std::fstream::in);...

Поиск подстроки между определенными символами
Здравствуйте! Помогите плиз,как это можно реализовать. Допустим у нас есть...

Как узнать слово в AnsiString между 1 и 6 символами.
Как узнать слово в AnsiString между 1 и 6 символами.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru