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

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

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

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

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

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

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

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

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

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

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

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

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

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

25
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
05.05.2011, 14:25
А как ты их удаляешь?
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
05.05.2011, 14:32
Infinity3000, в вашем коде, если совпадает символ, увеличивайте некоторый счетчик на 1.
C++
1
2
3
4
5
6
7
8
int count=0;
//........
if(/*Символы совпадают*/)
{
/*Удаляем*/
i++; // увеличиваем счетчик
}
//.......
Добавлено через 29 секунд
Без вашего кода больше ничего не скажешь.
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 18:42  [ТС]
Пробую вот удалять!
C++
1
2
3
4
5
6
7
8
9
10
11
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt") ;
StrList->Sort();
 
int j;
 
if (StrList->Strings[0].Pos(j) == StrList->Strings[1].Pos(j))
    {
    StrList->Strings[1].Delete(StrList->Strings[1].Pos(j),1);
    j++;
    }
Добавлено через 3 часа 33 минуты
Цитата Сообщение от Infinity3000 Посмотреть сообщение
Пробую вот удалять!
C++
1
2
3
4
5
6
7
8
9
10
11
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt") ;
StrList->Sort();
 
int j;
 
if (StrList->Strings[0].Pos(j) == StrList->Strings[1].Pos(j))
    {
    StrList->Strings[1].Delete(StrList->Strings[1].Pos(j),1);
    j++;
    }

Извените этот код не рабочий! Делал на паре и не проверил на работоспособность!!

Думаю над другим вариантом!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 18:59
C++
1
2
3
4
5
6
int before, after, diff;
before = str.Length(); // длина до удаления
// удаляем символы
after = str.Length();
diff = before-after;
ShowMessage("Удалено "+IntToStr(diff)+" символов");
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 19:18  [ТС]
Не подскажите в чем моя ошибка)

C++
1
2
3
4
5
6
7
8
for (int i = 1; i < ListBox1->Count; i++) //перебираю строки 
 {
  if (ListBox1->Items->Strings[i] == ListBox1->Items->Strings[0])  //если строка равна первой тогда
  {
  ListBox1->Items->Strings[i].Delete(ListBox1->Items->Strings[i].Pos(1),1); //вот тут  удаляет первый символ!
  ListBox1->Items->SaveToFile("SaveFile.txt");
  }
 }
C++
1
2
ListBox1->Items->Strings[i].Delete(ListBox1->Items->Strings[i].Pos(1),1);
// может тут синтаксис не правельный хотя компиляцию проходит
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 19:23
а если указать в Pos не int, а удаляемый символ :
C++
1
Pos('a')
? или
C++
1
Delete(1,1);
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 19:53  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
а если указать в Pos не int, а удаляемый символ : Pos('a') ?
Все равно не хочет!
C++
1
2
3
4
5
if (ListBox1->Items->Strings[1] == ListBox1->Items->Strings[0])  
  {
  ListBox1->Items->Strings[1].Delete(ListBox1->Items->Strings[i].Pos('a'),1); 
  ListBox1->Items->SaveToFile("SaveFile.txt");
  }
И так тоже

C++
1
2
3
4
5
6
if(ListBox1->Items->Strings[1] == ListBox1->Items->Strings[0])
  {
  ListBox1->Items->Strings[1].Delete(1,1);
  ListBox1->Items->SaveToFile("SaveFile.txt");
  }
 }
Хотя все логично!

Добавлено через 16 минут
И так тоже не хочет! что то не понятное для меня тварится!

C++
1
2
3
4
5
6
7
8
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
StrList->Sort();
if (StrList->Strings[1] == StrList->Strings[0])
  {
  StrList->Strings[1].Delete(StrList->Strings[1].Pos(1),1);
  StrList->SaveToFile("SaveFile.txt");
  }
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 21:18
C++
1
StrList->Items->Strings[1] = StrList->Items->Strings[1].Delete...
и что ? никаких ошибок и предупреждений ?
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 22:16  [ТС]
Нет никаких ошибок не было!!!

Разобрался!))

C++
1
2
3
4
5
6
7
8
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
 
if (StrList->Strings[1] == StrList->Strings[0])
  {
  StrList->Strings[1] = StrList->Strings[1].Delete(StrList->Strings[1].Pos('a'),3); //тут не присваивал StrList->Strings[1] значение после удаления символов
  StrList->SaveToFile("SaveFile.txt");
  }
Вот такая детская ошибка!! )) Даже и такое случаеться!) Спасибо всем!

Добавлено через 6 минут
Только почему то не удаляет определенную позицию символа.

C++
1
2
3
4
5
6
7
8
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
 
if (StrList->Strings[1] == StrList->Strings[0])
  {
  StrList->Strings[1] = StrList->Strings[1].Delete(StrList->Strings[1].Pos(1),1);
  StrList->SaveToFile("SaveFile.txt");
  }
В чем ошибочка??

Добавлено через 27 минут
Точнее оно удаляет число 1 если есть такое в строке!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 22:16
было уже - не Pos(1) , а Pos('нужный_символ') , или
C++
1
2
3
Delete(
       1/*позиция, с которой будем удалять*/,
       1/*количество удаляемых символов*/)
ты бы почитал что-нибудь на досуге, попивая пивко, что ли...
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 22:23  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
ты бы почитал что-нибудь на досуге, попивая пивко, что ли.
Я этим как раз и занимаюсь сейчас!!))

Вот так работает!))

C++
1
2
3
4
5
6
7
TStringList* StrList = new TStringList;
StrList->LoadFromFile("LoadFile.txt");
if (StrList->Strings[1] == StrList->Strings[0])
  {
  StrList->Strings[1] = StrList->Strings[1].Delete(1,1);
  StrList->SaveToFile("SaveFile.txt");
  }
Помойму хватит пивка, нужно просто почитать!)))

Спасибо, LK
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 22:24
работает!))
- не прошло и пол-года ...
я тут помыслил ... нужнО оно вам , это чтение ?..
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 22:27  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
я тут помыслил ... нужно оно вам , это чтение ?..
Спасибо за помощь!)))
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 22:31
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 22:42  [ТС]
Еще один вопросик!

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

На входе:

Генератор сигналов низкочастотный ГЗ-100
Генератор сигналов низкочастотный ГЗ-100

На выходе:

Генератор сигналов низкочастотный ГЗ-100
ееао инлв икчсонйГ-0

По идее должна удалиться вся вторая строка!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 22:49
C++
1
for (int i = 1; ...
Добавлено через 1 минуту
тебе что - нужно удалить повторы строк из списка ?
1
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 22:52  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
for (int i = 1; ...
Проблема не в этом! я так уже делал!! Мне не понятно вообще почему оно так происходит, в цикле i увеличивается на 1! если логически подумать то все должно быть в норме!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
05.05.2011, 22:57
C++
1
i < StrList->Strings[0].Length() + 1;
а для чего добавлять единицу к длине строки ?
0
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
05.05.2011, 23:01  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
а для чего добавлять единицу к длине строки
Если не прибавлять, то цикл только проходит до предпоследнего символа, последний символ не учитываеться!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.05.2011, 23:01
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru