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

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

Войти
Регистрация
Восстановить пароль
 
SnowFire
0 / 0 / 0
Регистрация: 15.01.2014
Сообщений: 5
#1

Заменить на "-" каждую четную букву в слове - C++

15.01.2014, 01:08. Просмотров 388. Ответов 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
42
43
44
45
46
47
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
 
#define MAXL_STRING 81
#define MAXL_WORD 31
 
void main()
{
    char str[MAXL_WORD],str_all[MAXL_STRING],str0[]=" ";
    int i,j,w_len,w_len0,kslov,ksymb;
    FILE *fin, *fout;
 
    setlocale(LC_CTYPE,"Russian");
 
    fin=fopen("C:\\string2.txt","r");
    if(fin == NULL)
        {printf("Невозможно открыть файл string2.txt\n"); exit(1); }
    fout=fopen("C:\\string2.out","w");
    if(fout == NULL)
        {printf("Невозможно открыть файл string2.out\n"); exit(1); }
 
    fprintf(fout,"  Исходное предложение:\n");
    printf("    Исходное предложение:\n");
    kslov=ksymb=0;
    while(fscanf(fin,"%s",str) != EOF)
    {
        w_len=strlen(str);
        kslov++; ksymb+=w_len+1;
        if(kslov == 1)
            strcpy(str_all,str);
        else
        {
            if(strlen(str_all) < (MAXL_STRING-1)) strcat(str_all,str0);
            if((strlen(str_all)+w_len) <= (MAXL_STRING-1))
                strcat(str_all,str);
            else
            {
                fprintf(fout,"%s\n",str_all); printf("%s\n",str_all);
                strcpy(str_all,str);
            }
        }
    }
    if(fseek(fin,0L,SEEK_SET) != 0)
    {printf("Error seek: file stk2.in\n"); exit(1);}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2014, 01:08     Заменить на "-" каждую четную букву в слове
Посмотрите здесь:
Каждую заглавную букву заменить строчной буквой, пару букв "ки" заменить на "ю" C++
Заменить словах каждую букву "о" на "ма" C++
В текстовом файле поменять каждую букву "а" на букву, заданную пользователем C++
C++ В каждом слове текста замените "а" на букву "е"
C++ Каждую последовательность символов"АBC" заменить на"ALPHABET"
C++ Заменить в тексте все пары "ph" на букву "f"
Нужно в массиве в слове "Pascal" поменять букву c на k C++
Строки. Заменить букву "а" на букву "в" C++
Заменить в матрице каждую "1" на сумму соседних в соответствующей строке элементов C++
C++ Каждую цифру текста, которая находится перед первым символом "+", заменить на запятую
C++ Каждую цифру текста, которая находится перед первым символом "+", заменить на запятую
Нужно заменить последнюю заглавную букву в строке на слово "Kukushechka" C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGluck
Модератор
Эксперт CЭксперт С++
7188 / 4354 / 634
Регистрация: 29.11.2010
Сообщений: 11,845
15.01.2014, 02:16     Заменить на "-" каждую четную букву в слове #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <sstream>
#include <string>
 
int main()
{
    const std::string str = "Eniki beniki eli vareniki";
    std::cout << "Before: " << str << "\nAfter:  ";
 
    std::istringstream ist(str);
    for (std::string word; ist >> word; std::cout << word << " ")
        for (unsigned int i=0; i < word.length(); i+=2)
            word[i] = '-';
}
Ответ Создать тему
Опции темы

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