Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2015, 13:32   #1
Okayguys
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 12
По умолчанию Строки

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

Последний раз редактировалось Okayguys; 03.11.2015 в 13:39.
Okayguys вне форума Ответить с цитированием
Старый 03.11.2015, 14:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Твои попытки и наработки увидеть можно?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2015, 15:37   #3
Okayguys
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Твои попытки и наработки увидеть можно?
Как-то так. Я пытался перевести код с Паскаля , но нехорошо его знаю, перевел только то, что смог.
Код:
#include <iostream>
//#include <stdafx.h>
#include <cstdlib>
#include <stdio.h>
#include <conio.h>
using namespace std;
int main()
        {
            setlocale(0,"Rus");
            char string[11]='s';
         std::cout<<"Введите строку: ";
              char string [11] = {
                'А','а','Е','е','Ё',ё','И','и','О','о', 'У,'у','Ы','ы','Э','э','Ю','ю','Я','я','\0'             
};
           gets(s);
            string[] words = s.Split(); 
            for (int i = 0; i < words.Length; i++)
            {
                string word = words[i];
                if (vowels.Contains(word[0])) 
                {
                    char[] letters = word.ToCharArray(); 
                    char temp = letters[0]; 
                    letters[0] = letters[letters.Length - 1]; 
                    letters[letters.Length - 1] = temp; 
 
                    words[i] = new string(letters); 
                }
            }
 
            string result = string.Join(" ", words);
            Console.WriteLine("Результат: " + result);
        }
    }
}

Последний раз редактировалось Okayguys; 03.11.2015 в 15:42.
Okayguys вне форума Ответить с цитированием
Старый 03.11.2015, 15:40   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Э-э-э... А какой язык тебе нужен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2015, 15:45   #5
Okayguys
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Э-э-э... А какой язык тебе нужен?
Да, прошу прощения. Забыл указать, C++ мне нужен.
Okayguys вне форума Ответить с цитированием
Старый 03.11.2015, 16:20   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Окей... А такое тебе подойдет?:
Код:
// q.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream> 
#include <string>
#include <sstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	string s="Hello amy world",v,k="eyuioa";
	stringstream ss(s);
	while (getline(ss,v, ' ')){
		if(k.find(v[0])!=std::string::npos){
			char c=v[0]; 
			v[0]=v[v.length()-1];
			v[v.length()-1]=c;
		}
		cout<< v<<' '; 
	}
	cin.get();
	return 0;
}
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.11.2015, 16:31   #7
Okayguys
Пользователь
 
Регистрация: 22.04.2013
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Окей... А такое тебе подойдет?:
Код:
// q.cpp: определяет точку входа для консольного приложения.
//

#include "stdafx.h"
#include <iostream> 
#include <string>
#include <sstream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	string s="Hello amy world",v,k="eyuioa";
	stringstream ss(s);
	while (getline(ss,v, ' ')){
		if(k.find(v[0])!=std::string::npos){
			char c=v[0]; 
			v[0]=v[v.length()-1];
			v[v.length()-1]=c;
		}
		cout<< v<<' '; 
	}
	cin.get();
	return 0;
}
Вполне. Спасибо большое.
Okayguys вне форума Ответить с цитированием
Старый 03.11.2015, 16:52   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На здоровье )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл nero4ka C++ Builder 1 13.06.2015 07:14
Необходимо каждый элемент строки разделить на сумму элементов строки IgoreKMaN Общие вопросы C/C++ 4 18.12.2014 01:28
Задача на строки. Даны две строки. Определить можно ли из символов первой строки получить вторую строку.( написать подпрограммой и ANTON1994 Паскаль, Turbo Pascal, PascalABC.NET 5 09.02.2013 14:07
Программа на языке "Ассемблер" - ввод строки, анализ длины строки, добавление точки в конец строки Алексей_2012 Помощь студентам 1 05.04.2012 11:26
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10