Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
 Аватар для FreeYourMind
147 / 147 / 104
Регистрация: 13.11.2016
Сообщений: 557

Составить новую строку из всех гласных латинских букв исходной строки без повторений

24.12.2016, 14:42. Показов 3062. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
доброго времени суток. прошу помоч знающих людей. вобщем задание такое.. есть строка, выбрать из нее все латинские гласные буквы и составить строку без повторений (я так понимаю без одинаковых подряд идущих элементов). код я написал, оно работает, но есть одно НО. в случае если получается 4 одинаковых символа подряд, удаляется только 2, если 3 то удаляется 1.. как ни пытался я любить код он ласкам не поддается и стоит на своем.. помогите поправить пожалста
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>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
using namespace std;
void main(){
    char first[150];
    char gl[] = "AEYUIOaeyuio";
    char out[200];
    int glL=strlen(gl);
    int z=0;
    int firstL = strlen(first);
    cin.getline(first, 150);
    for (int i=0; i<firstL; i++)
    {
        for (int j=0; j<glL; j++)
        {
            if (first[i]==gl[j]){
                out[z]=first[i];
                z++;
                break;
                }
            
            if (first[i]=='\0'){
                out[z] = '\0';
            }
        }
    }
    cout << "output string: \n " << out << endl;
    int outL = strlen(out);
    for (int i=0; i<outL; i++)
    {                                               ////////
        if (out[i] == out[i+1]){                    //касяк
            for (int j=i; j<outL; j++){             ///тут
                out[j] = out[j+1];                  ////////
            }
        }
    }
    cout << "string without repeats:\n" << out << endl;
    system("pause");
}
желательно не прибегая к классу string
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2016, 14:42
Ответы с готовыми решениями:

Написать функцию возвращающую строку, состоящую из всех гласных латинских букв без повторений
Разработать функцию MakeStr(const S:string):string, возвращающую строку, состоящую из всех гласных латинских букв строки S без повторений....

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

Разработать функцию MakeStr(const S:string):string, возвращающую строку, состоящую из всех гласных латинских букв строки
1.Разработать функцию MakeStr(const S:string):string, возвращающую строку, состоящую из всех гласных латинских букв строки S без...

5
76 / 73 / 67
Регистрация: 18.09.2015
Сообщений: 234
24.12.2016, 17:03
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
#include <iostream>
using namespace std;
 
void main()
{
    char gl[] = "AEYUIOaeyuio";
 
    char s[150];
    char s_out[150];
 
    cin.getline(s,150);
 
    char tmp = '\0';
    int q = 0;
    for (int i = 0; i < strlen(s); i++)
    {
        for (int j = 0; j < strlen(gl); j++)
        {
            if (s[i] == gl[j] && s[i] != tmp)
            {
                tmp = s[i];
                s_out[q++] = s[i];
            }
        }
    }
 
    s_out[strlen(s_out)] = 0;
    cout << s_out << endl;
}
1
 Аватар для FreeYourMind
147 / 147 / 104
Регистрация: 13.11.2016
Сообщений: 557
24.12.2016, 19:26  [ТС]
amaralikyr, как то не так работает..
Миниатюры
Составить новую строку из всех гласных латинских букв исходной строки без повторений  
0
76 / 73 / 67
Регистрация: 18.09.2015
Сообщений: 234
24.12.2016, 19:32
у меня так...
Миниатюры
Составить новую строку из всех гласных латинских букв исходной строки без повторений  
0
 Аватар для FreeYourMind
147 / 147 / 104
Регистрация: 13.11.2016
Сообщений: 557
24.12.2016, 19:35  [ТС]
аа ну у меня визуалка 2008.. просто настоятельно просил препод учиться на этой же версии что бы потом у него неполадок не было.. попробую еще похимичить.. все равно спасибо за помощ =)
0
 Аватар для FreeYourMind
147 / 147 / 104
Регистрация: 13.11.2016
Сообщений: 557
24.12.2016, 20:14  [ТС]
вобщем вроде как сделал.. теперь работает как запланировал.. правда если кто то захочет поправить против не буду.. может кому пригодится
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
void main(){
    char first[150];
    char gl[] = "AEYUIOaeyuio";
    char out[150];
    int glL=strlen(gl), z=0, firstL = strlen(first);
    cin.getline(first, 150);
    for (int i=0; i<firstL; i++)
    {
check:
        for (int j=0; j<glL; j++)
        {
            if (first[i]==gl[j]){
                if (out[z-1] == first[i]){
                    i++;
                    goto check;
                }
                out[z]=first[i];
                z++;
                }
            
            if (first[i]=='\0'){
                out[z] = '\0';
            }
        }
    }
    cout << "string without repeats:\n" << out << endl;
    system("pause");
}
Миниатюры
Составить новую строку из всех гласных латинских букв исходной строки без повторений  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.12.2016, 20:14
Помогаю со студенческими работами здесь

Сформировать строку-результат из больших латинских букв исходной строки
_________________________________________________ дана строка. сформировать строку-результат из больших латинских букв исходной строки....

Из исходной строки составить новую строку по правилу
HELP! Из исходной строки составить новую строку по следующему принципу: Сначала идет n символов исходной строки в прямом порядке, затем...

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

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

Записать в новую строку все слова исходной строки у которых количество букв кратно 3
Ввести рядок s, длинною до 70-и символов. В рядах s3 записать все слова ряда S, в каких количество букв кратно 3.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru