Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255

Как посчитать количество удаленных символов со строки

05.05.2011, 14:22. Показов 4020. Ответов 25
Метки нет (Все метки)

Здраствуйте!
Подскажите пожалуйста, как можно подсчитать количество удаленных символов в строке!

Подробнее это звучит так!

Есть две строки:

количество символов в ряду;
количество символов в строке;

Мы их сравниваем и удаляем со второй строки символы которые входят в первую строку и стоят на одинаковом "месте"!

В итоге должно получиться что вроде этого.

количество символов в ряду;
22 строке;

Где 22 это количество удаленных символов со второй строки вместе с пробелами!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.05.2011, 14:22
Ответы с готовыми решениями:

Unity 2d как посчитать количество удаленных предметов?
Короче... Есть скрипт в котором я удаляю "монеты". Мне нужно что бы количество удаленных "монет" посчиталось и вывелось на экран...

Исключить из введенной строки символ, введенный с клавиатуры. Вывести на экран количество удаленных символов и строку
При вводе строки символ удаляется только из первого слова. Как сделать, чтобы он удалялся из последующих слов тоже? И как подсчитать...

Посчитать количество строк файла, для каждой отдельной строки определить количество символов и слов
В текстовом файле посчитать количество строк, а также для каждой отдельной строки определить количество в ней символов и слов. пожалуйста...

25
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 23:08
не потому ли, что
C++
1
for (int i = 0; ...
? нумерация символов в строке с чего начинается ?
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
06.05.2011, 00:16  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
не потому ли, что
C++
1
for (int i = 0; ...
? нумерация символов в строке с чего начинается ?
ну да из-за этого!!)) спасибо за замечание!)

Но все же символы удаляются символы через один(((

C++
1
2
3
4
5
6
7
8
9
10
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
for (int i = 1; i < StrList->Strings[0].Length(); i++)
{
    if (StrList->Strings[0].Pos(i) == StrList->Strings[1].Pos(i))
    {
    StrList->Strings[1] = StrList->Strings[1].Delete(i,1);
    StrList->SaveToFile("SaveFile.txt");
    }
}
выносил
C++
1
StrList->SaveToFile("SaveFile.txt");
за цикл!! не помогает!
Буду разбираться!!)

Добавлено через 32 минуты
Разобрался!))))

Нужно так:

C++
1
2
3
4
5
6
7
8
for (int i = 0; i < StrList->Strings[0].Length(); i++)
{
    if (StrList->Strings[0].Pos(i) == StrList->Strings[1].Pos(i))
    {
    StrList->Strings[1] = StrList->Strings[1].Delete(1,1); // вот тут была ошибка
    StrList->SaveToFile("SaveFile.txt");
    }
}
Было так

C++
1
2
3
4
5
6
7
8
for (int i = 0; i < StrList->Strings[0].Length(); i++)
{
    if (StrList->Strings[0].Pos(i) == StrList->Strings[1].Pos(i))
    {
    StrList->Strings[1] = StrList->Strings[1].Delete(i,1);
    StrList->SaveToFile("SaveFile.txt");
    }
}
дело в том что когда удалялся первый символ, строка сдвигалась влево, и второй символ становился на первое место, а третий на место второго, когда цикл проходил второй раз i == 2, то сразу проверялся третий символ! Поэтому удалялось через символ!! Поэтому нужно удалять постоянно первый символ Delete(1,1);

Ну надеюсь понятно!!

Добавлено через 14 минут
Цитата Сообщение от LK Посмотреть сообщение
тебе что - нужно удалить повторы строк из списка
Нет мне нужно разработать программу, осуществляющую линейный алгоритм сжатия данных путем исключением повторений!

Добавлено через 9 минут
Теперь собственно по теме!

Подскажите пожалуйста, как из ходя из моего кода посчитать количество удаленных символов!
C++
1
2
3
4
5
6
7
8
9
10
11
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
 
for (int i = 0; i < StrList->Strings[0].Length(); i++)
{
    if (StrList->Strings[0].Pos(i) == StrList->Strings[1].Pos(i))
    {
    StrList->Strings[1] = StrList->Strings[1].Delete(1,1);
    StrList->SaveToFile("SaveFile.txt");
    }
}
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.05.2011, 00:26
C++
1
2
3
4
5
6
7
8
9
AnsiString str = StrList->Strings[0];
int j;
for (int i = 1; i <= str.Length(); i++) {
  if (StrList->Strings[0].Pos(i) == StrList->Strings[1].Pos(i)) {
    StrList->Strings[1] = StrList->Strings[1].Delete(1,1);
    j++;
  }
}
ShowMessage(StrList->Strings[1]+".\nУдалено "+StrToInt(j)+" символов.");
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
06.05.2011, 00:44  [ТС]
LK, Спасибо за идею буду разбераться!))
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
06.05.2011, 01:04
дык, это в самом начале предлагал уважаемый NiTan
а для чего вы при каждой итерации делаете
C++
1
StrList->SaveToFile("SaveFile.txt");
? логичнее вынести это за тело цикла
и я так и не понял, для чего, если строки идентичны, вы у одной из строк удаляете все символы
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
06.05.2011, 01:13  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
логичнее вынести это за тело цикла
Спасибо за замечание!! но я уже исправил!! просто изначально была немного другая идея, и он так и остался!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.05.2011, 01:13

Подсчитать количество удалённых символов или сообщить, что таких символов нет
Ввести строку. В строке удалить все символы &quot;!&quot; и &quot; ' &quot; и подсчитать количество удалённых символов или сообщить, что таких символов нет....

Строки: посчитать количество символов без пробелов
посчитать кол-во символом без пробелов.Что в этом коде не так,подскажите,пожалуйста. #include &lt;iostream.h&gt; #include...

Посчитать количество удаленных файлов
Пакетный файл, предназначенный для удаления файлов по маске, расположенных в месте, заданном определенным путем. Полный путь расположения и...

Посчитать количество символов строки, вводимой пользователем с клавиатуры
посчитать количество симвлов С-строки, вводимой пользователем с клавиатуры

Нужно разбить .*CSV на строки и посчитать количество символов
Ни разу не программист, просто пытаюсь использовать пайтон для решения рабочих моментов, поэтому сразу прошу меня извинить. Есть ресурс,...


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

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Новые блоги и статьи
Своя Интернет-Компания
iceja 18.06.2026
Я программист с экономическим образованием, пишу свой проект, это SaaS для бизнесов. Мне нужен co-founder с высшим экономическим образованием, и/ или инвестор. Сейчас проект в интенсивной разработке,. . .
24 Мат модель здравосохранения: функциональные требования к строительству пищеблока
anaschu 18.06.2026
СРесурсами1: финансовый SD-контур, калькулятор функциональных требований пищеблока Сегодня разделили затраты в агенте Экономика по образцу модели НАСОСЫ, добавили расчёт ROI и построили первый. . .
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru