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

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

Войти
Регистрация
Восстановить пароль
 
lexflax
10 / 10 / 1
Регистрация: 03.04.2011
Сообщений: 627
#1

В каждом идентификаторе с нечетным порядковым номером удвоить последнюю букву - C++

24.08.2011, 15:08. Просмотров 470. Ответов 4
Метки нет (Все метки)

Задана последовательность идентификаторов, разделенных сериями пробелов. Последовательность задана строкой символов (string) заканчивается символом ‘*’. В каждом идентификаторе с нечетным порядковым номером удвоить последнюю букву.( решение задания этого есть все работает, мне интересен пример увидеть чтоб их текстового файла выводил всю инфорцацию на экран , причем чтоб по строчно , допустим если срок пять , то каждое нажатие ентр выводило по одной строке, кто может напишите плиз листинг такой проги , сам не смогу, но очень хочется посмотреть и разобраться по листингку что за что отвечает) а пример ниже по первому заданию может его можно изменить чтоб было то что мне нужно...
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
#include <vcl.h>
#pragma hdrstop
#pragma argsused
# include <iostream>              // класс для работы с вводом-выводом
# include <fstream>
#include <conio.h>        // класс для работы с файлом
# include <string>
//---------------------------------------------------------------------------
 
void main()
{
    using namespace std;
    string st,stt;
    cout << "enter name files:" <<endl;
    char name[10];
    cin >> name;
    ifstream inf(name);
    getline(inf,st);
    int i = 0, f = 1;
    for(i=0; i < st.length(); i++)
        if((st[i] == ' ' || st[i] == '*') && st[i-1] != ' '){
         if(f == 1){
         f = 0;
         stt = stt + st[i-1] + " ";
         }else {
          f = 1;
          stt +=" ";
         }
        }else{
            stt +=st[i];
        }
    cout << stt;
    getch ();
}
 Комментарий модератора 
Используйте теги форматирования кода!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2011, 15:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос В каждом идентификаторе с нечетным порядковым номером удвоить последнюю букву (C++):

Зашифровать текст и дешифровать, заменив каждую букву порядковым номером в алфавите - C++
Пацаны помогите решить эту программу пожалуйста. Зашифровать текст и дешифровать, заменив каждую букву порядковым номером в алфавите

Удалить последнюю букву в каждом слове - C++
удалить последнюю букву в каждом слове Алгоритм: Описание ввод слов через пробелы условие если A равно &quot; &quot;(пробелу) по удалить a ...

В каждом слове заданного предложения поменять местами первую букву и последнюю - C++
Вообщем осталось две программки написать, а я как ни старался ничего не получалось. Очень надеюсь на вашу помощь. Завтра зачёт. =( 1)...

Замена букв их порядковым номером - C++
Нужно все русские буквы заменить их порядковым номером в алфавите. Основную часть программы составил, но не могу понять как присвоить int...

В матрице заменить буквы их порядковым номером - C++
Дано NxN две матрицы, одна из символов одна из цифр. Например вот так : a b c //a=1 b=2 c=3 d e f //d=4 e=5...

Удалить из массива элемент с порядковым номером K - C++
5)Дан массив размера N и целое число K (1 ≤ K ≤ N). Удалить из массива элемент с порядковым номером K.

4
-=ЮрА=-
Заблокирован
Автор FAQ
24.08.2011, 17:07 #2
Посмотри сюда работа с файлами
правда это Си а не билдер.
Строки можно выделять посредством strtok
C++
1
2
3
4
5
6
7
buf = strtok(str,"\n");
                        while(buf)
                        {
                                printf("%s\r\n",buf);
                                buf = strtok(NULL,"\n");
                                getch();//Остановка до нажатия любой клавиши
                        }
0
nameless
Эксперт С++
334 / 298 / 14
Регистрация: 16.06.2009
Сообщений: 486
24.08.2011, 18:38 #3
lexflax, как вариант:

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
42
43
44
45
46
47
48
49
50
51
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <exception>
#include <fstream>
 
#include <boost/algorithm/string/split.hpp>
#include <boost/bind.hpp>
#include <boost/function.hpp>
#include <boost/algorithm/string/classification.hpp>
 
struct Add: public std::unary_function <std::string, std::string> {
    Add() : i(1) {  }
    const std::string& operator()(std::string& value) {
        if (this->i++ % 2) {
            return value.append(1, *(value.end() - 1));
        }
        return value;
    }
private:
    std::size_t i;
};
 
int main() {
    std::ifstream input_file("input.txt");
    
    try {
        std::string str_numbers;
        std::vector <std::string> v_str;
        
        if (!input_file.is_open()) {
            throw std::runtime_error("Error. Can't open file");
        }
        
        boost::function <const std::string& (std::string&)> AddChar = boost::bind(Add(), _1);
        
        while (!input_file.eof()) {
            std::getline(input_file, str_numbers, '\n');
            boost::split(v_str, str_numbers, boost::is_any_of(" *"), boost::token_compress_on);
            std::transform(v_str.begin(), v_str.end(), std::ostream_iterator <std::string>(std::cout, " "), AddChar);
            std::cout << "\n";
        }
        
    } catch (const std::exception& exc) {
        std::cout << exc.what() << std::endl;
    }
    
    return 0;
}
0
zarko97
278 / 38 / 0
Регистрация: 11.10.2015
Сообщений: 400
22.06.2017, 19:22 #4
Цитата Сообщение от nameless Посмотреть сообщение
*(value.end() - 1)
есть же back() у стринги
0
MrGluck
Модератор
Эксперт CЭксперт С++
7426 / 4541 / 675
Регистрация: 29.11.2010
Сообщений: 12,327
22.06.2017, 19:25 #5
Цитата Сообщение от zarko97 Посмотреть сообщение
есть же back() у стринги
Он в С++11 появился. А код написан под С++98. Да и смотрите на дату публикации сообщения. Тогда С++11 ещё не утвердили (он вышел в сентября 2011).
0
22.06.2017, 19:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.06.2017, 19:25
Привет! Вот еще темы с ответами:

Определение времени года за порядковым номером месяца (проверить) - C++
Составить программу определения времени года за порядковым номером месяца #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include...

Найти в введенной строке чисел цифру, по указанному порядковым номером - C++
Cоставить программу, которая находит в введенном строке чисел цифру, по указанному порядковым номером. Наприкад Входные данные: 5 ...

Вывести на экран все компоненты файла с четным порядковым номером - C++
Создать файл и записать в него степени числа 3. Вывести на экран все компоненты файла с четным порядковым номером.

Перед элементом массива с порядковым номером K вставить новый элемент - C++
Дан массив размера N и целое число K (1 ≤ K ≤ N). Перед элементом массива с порядковым номером K вставить новый элемент с нулевым...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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