Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mariooo
3 / 3 / 0
Регистрация: 01.12.2012
Сообщений: 53
#1

Упражнение на строки - C++

22.06.2014, 02:45. Просмотров 468. Ответов 1
Метки нет (Все метки)

Петя записался в кружок по программированию. На первом занятии Пете задали написать простую программу. Программа должна делать следующее: в заданной строке, которая состоит из прописных и строчных латинских букв, она:
-удаляет все гласные буквы,
-перед каждой согласной буквой ставит символ ".",
-все прописные согласные буквы заменяет на строчные.

Гласными буквами считаются буквы "A", "O", "Y", "E", "U", "I", а согласными — все остальные. На вход программе подается ровно одна строка, она должна вернуть результат в виде одной строки, получившейся после обработки.
Помогите Пете справиться с этим несложным заданием.

Входные данные
Первая строка представляет собой входные данные для Петиной программы. Эта строка состоит только из прописных и строчных латинских букв и имеет длину от 1 до 100 включительно.

Выходные данные
Выведите получившуюся строку. Гарантируется, что эта строка не пуста.

Примеры тестов
входные данные
tour
выходные данные
.t.r
входные данные
Codeforces
выходные данные
.c.d.f.r.c.s
входные данные
aBAcAba
выходные данные
.b.c.b
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<stdio.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include <iostream> 
    
using namespace std;
 
int main(){
int j=0,big, small;
char ch1[100], ch2[200];
printf("Enter text:");
gets(ch1);
int k=strlen(ch1);
    for(int i=0;i<k;i++){
        for(big=65,small=97;big<=90,small<=122;big++,small++){
        if(ch1[i]==big){ch1[i]=small;}
        }        
        if(ch1[i]==97||ch1[i]==111||ch1[i]==121||ch1[i]==101||ch1[i]==117||ch1[i]==105){ch1[i]=' ';}
        if(ch1[i]=='\0'){break;}
        if(ch1[i]==' '){continue;}
        else{ch2[j]='.';
             j++;
             ch2[j]=ch1[i];
             j++;
        }
    }
 
cout<<ch2<<endl;
getch();
return 0;
}
есть такая проблема если ввести для теста слово laplandiya или pengmi или lol lol то в конце оно добавляет случайные символы, помогите разобраться почему и откуда
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.06.2014, 02:45     Упражнение на строки
Посмотрите здесь:

Упражнение по программированию (Стивен Прата, глава 2, упражнение 3) - C++
2 Глава, вопрос 3. Напишите программу на С++, которая использует три определяемых пользователем функции (включая main()) и генерирует...

Упражнение - C++
Нужна помощь! Помогите решить упражнение, написав программы на языке С Написать функции для выполнения следующих операций: 1)...

Упражнение из книги. - C++
В книге (Язык программирования С++. Вводный курс. 4-е изд. (Стенли Липпман)) есть задание: &quot;Напишите программу, читающую строки в...

Упражнение по рефакторингу - C++
Предлагаю Вашему вниманию пример кода. Мне бы хотелось узнать, какие бы шаги Вы предприняли для улучшения данного кода? Общий целевой...

Упражнение с использованием векторов - C++
Ребят помогите. Дана последовательность с целыми числами. Удалить из массива все максимальные элементы. Я решала подобную задачу но не...

Упражнение с использованием структуры - C++
Ребят помогите.На основе данных в input.txt составить список студентов группы включив в них следующие данные: фио, год рождения, домашний...

Упражнение из учебника С. Липпмана - C++
1. Напишите программу, которая запрашивает у пользователя два числа и выводит на стандартное устройство вывода все числа, которые находятся...

Упражнение из книги Лафоре - C++
//11.cpp #include &lt;iostream&gt; using namespace std; class sterling { private: long pounds; int shil; int pens;

Упражнение из Страуструпа: конкатенация С-строк - C++
Напишите функцию cat(), которая принимает в качестве аргументов две С-строки и возвращает конкатенированную С-строку. Используйте операцию...

Упражнение со скобками: получение максимального выражения - C++
Мне нужно на С написать упражнение. Пользователь вводит математическое выражение в char, например: 12+5-654*85+6-45 знаков действия может...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
6285 / 5888 / 1909
Регистрация: 18.12.2011
Сообщений: 15,120
Завершенные тесты: 1
22.06.2014, 10:44     Упражнение на строки #2
В конце строки ch2 надо добавить терминальный нуль
C++
1
2
ch2[j]=0;
cout<<ch2<<endl;
Yandex
Объявления
22.06.2014, 10:44     Упражнение на строки
Ответ Создать тему
Опции темы

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