Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/29: Рейтинг темы: голосов - 29, средняя оценка - 4.79
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15

Удалить из слов все кратные рядом стоящие одинаковые символы

05.06.2019, 22:45. Показов 6106. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется текстовый файл, содержащий текст на русском языке. Удалить из слов все кратные рядом стоящие одинаковые символы, оставив по одному: ПППОООГОДДДДАААА -> ПОГОДА. Отредактированный текст записать в другой файл.

0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2019, 22:45
Ответы с готовыми решениями:

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

Удалить из предложения одинаковые слова стоящие рядом
Дана строка, содержащая текст на русском языке. В предложениях некоторые из слов записаны подряд несколько раз (предложение заканчивается...

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

18
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
05.06.2019, 22:48
Цитата Сообщение от Fedor33 Посмотреть сообщение
содержащий текст на русском языке
При таких словах сразу должна быть указана кодировка.
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
05.06.2019, 22:58
Цитата Сообщение от Croessmah Посмотреть сообщение
При таких словах сразу должна быть указана кодировка.
Зачем? Символы ж сравнивать только между собой надо.
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
05.06.2019, 23:02
Цитата Сообщение от Verevkin Посмотреть сообщение
Зачем? Символы ж сравнивать только между собой надо.
Так сначала их прочитать надо.
И тупо сравнивать байты в какой-нибудь utf-8 не получится.
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
05.06.2019, 23:08
Цитата Сообщение от Croessmah Посмотреть сообщение
Так сначала их прочитать надо.
В какой-нибудь utf-8 не получится тупо сравнить соседние байты.
Прочитать надо в UTF16 в любом случае. И сравнивать по 2 байта, а не по одному.
Но да, ты прав.
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
05.06.2019, 23:29  [ТС]
Упс...Честно говоря я не в курсе про кодировку. Мне задали такое задание и я впервые работаю с русским языком. Как бы это правильно узнать?
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.06.2019, 08:06
Цитата Сообщение от Fedor33 Посмотреть сообщение
Упс...Честно говоря я не в курсе про кодировку. Мне задали такое задание и я впервые работаю с русским языком. Как бы это правильно узнать?
Дай файл.
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
06.06.2019, 08:20  [ТС]
Вот
Вложения
Тип файла: txt outfile.txt (16 байт, 12 просмотров)
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.06.2019, 08:27
Цитата Сообщение от Fedor33 Посмотреть сообщение
Вот
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
06.06.2019, 08:39  [ТС]
Ага, понял, ну значит вот так
Миниатюры
Удалить из слов все кратные рядом стоящие одинаковые символы  
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
06.06.2019, 11:23  [ТС]
В общем, буду премного благодарен тому, кто поможет составить программу до завтра
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.06.2019, 12:30
Цитата Сообщение от Fedor33 Посмотреть сообщение
буду премного благодарен тому, кто поможет
Вот тебе функция. Остальное сам пиши.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char* prepare(char* src, char* dest)
{
  *dest = 0;
  char* ptr = dest, last = 0;
 
  while (*src)
  {
    if (*src != last) *ptr++ = *src;
    last = *src++;
  };
 
  return dest;
}
1
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
06.06.2019, 13:02  [ТС]
Благодарю

Добавлено через 29 минут
Цитата Сообщение от Verevkin Посмотреть сообщение
Вот тебе функция. Остальное сам пиши.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char* prepare(char* src, char* dest)
{
  *dest = 0;
  char* ptr = dest, last = 0;
 
  while (*src)
  {
    if (*src != last) *ptr++ = *src;
    last = *src++;
  };
 
  return dest;
}
Вложение 1045824
Но мне бы ещё код на то, как программа будет брать информацию из файла и выгружать её в другой. Потому как это главное, чего я не пойму
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
06.06.2019, 13:08
Цитата Сообщение от Fedor33 Посмотреть сообщение
Но мне бы ещё код на то, как программа будет брать информацию из файла и выгружать её в другой.
Передаю эстафету специалистам в области работы с файлами.
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
07.06.2019, 00:36  [ТС]
В общем, собрал прогу из нескольких кусков кода, т.к. новичок в программировании, не пойму, где тут ошибка. Ошибок в компиляторе не возникает но прога работает неправильно. В файле Text.txt лежит "ППППОООГГГОООДДААААА", и по идее в Out.txt должно было вывестись "погода". Но в итоге выводится просто заглавная буква П. Уделите минутку, помогите нубу разобраться
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
#include <iostream.h>
#include <stdio.h>
#include <iomanip.h>
#include <tchar.h>
#include <fstream.h>
using namespace std;
const int size = 50;
int main ()
{   char str; //массив для строки
ifstream fin; //объявление переменных для файлов
ofstream fout;
fin.open("Text.txt"); //открытие файла чтения
if (!fin.is_open()) { //проверка на открытие файла
cout<<"File not found"<<endl;
}
else {
fin>>str;
//n=str.lenght();
    char a[size];
    int n=0, i, k;
    string tmp;
    cin.getline(a, size);
    n=strlen (a);
    for (i=0; i<n; i++)
        if (a[i]==a[i+1])
        {
            for (k=i; k<n; k++)
                a[k]=a[k+1];
            a[n-1]='\0';
            n--;
            i--;
        }
        cout<<"Resultat: \n";
        cout<<a;
        fout.open("Out.txt"); //открытие файла на запись
 
fout<<str;
fin.close(); //закрытие файлов
fout.close();
}
}
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
07.06.2019, 01:28
начните с
Цитата Сообщение от Fedor33 Посмотреть сообщение
char str; //массив для строки
char str это один символ
1
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
07.06.2019, 08:09
Передаю эстафету специалистам в области работы с файлами.
Цитата Сообщение от Fedor33 Посмотреть сообщение
собрал прогу из нескольких кусков кода, т.к. новичок в программировании, не пойму, где тут ошибка
Чем тебе моя отлаженная функция не угодила?
0
0 / 0 / 0
Регистрация: 05.06.2019
Сообщений: 15
07.06.2019, 08:32  [ТС]
Подскажите как исправить
Цитата Сообщение от Yetty Посмотреть сообщение
char str это один символ
Добавлено через 2 минуты
Цитата Сообщение от Verevkin Посмотреть сообщение
Чем тебе моя отлаженная функция не угодила?
Извини, просто написано сложно, я не понял как работает функция.
0
Злостный нарушитель
 Аватар для Verevkin
10311 / 5733 / 1269
Регистрация: 12.03.2015
Сообщений: 26,568
07.06.2019, 08:35
Цитата Сообщение от Fedor33 Посмотреть сообщение
Извини, просто написано сложно, я не понял как работает функция.
Не "не понял", а даже не пытался понять. Мало того - даже не задал ни единого вопроса. Это значит, что я потратил на тебя своё время зря.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2019, 08:35
Помогаю со студенческими работами здесь

Дана строка А. Найти в ней все рядом стоящие одинаковые буквы
Дана строка А. Найти в ней все рядом стоящие одинаковые буквы и составить из них строку В, удалив из А

Вывести на экран все слова, состоящие из K букв, в которых есть по крайней мере две одинаковые буквы, стоящие рядом
Напишите пожалуйста программу В алфавите языке племени «тумба-юмба» четыре буквы: «Ы», «Ш», «Ч» и «О». Нужно вывести на экран все...

Дана строка из произвольных слов. Найти все одинаковые слова и удалить все повторения слов
Дана строка из произвольных слов. Найти все одинаковые слова и удалить все повторения слов. не получается( var i:integer; sl, s:...

Удалить из строки все символы, стоящие на чётных местах
Составить программу, которая удаляет из строки все символы, стоящие на чётных местах.Заранее спасибо.

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru