Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 09.07.2012
Сообщений: 14
1

Строка: заменить первую "о" на "а", удалив остальные "о"

17.07.2012, 14:09. Просмотров 1091. Ответов 1
Метки нет (Все метки)

c++ visual
Задание: дана последовательность слов. напечатать все слова, предварительно выполнив преобразования их по правилу: заменить в каждом слове первую встречную "а" на "о", удалив все остальные(если в слове нет такой буквы, то ничего не делать).
например:
ввод:мама плохо мыла раму
вывод: мом плохо мыло рому
доп.условие: ввод и вывод русского текста, нельзя использовать глобальные переменные.

Программа обрабатывает только первое слово, и заменят первую "а" на "о".
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
#include<stdio.h>
#include<windows.h>
main(){
 SetConsoleOutputCP(1251);
 char str[256];
   int h, k=0, i;
   char s[20], *p1;
   FILE *f1, *f2;
   printf("Если данные хранятся в файле нажмите 1,\n для ввода вручную нажмите 2:\n");
 scanf("%d",&h);
 if(h!=1 && h!=2){printf("Введенные данные не верны!"); exit(0);}
 if(h==1){
 if(!(f1=fopen("f.txt","r"))){ perror("Файл не может быть открыт"); exit(0);}
 }
 
 else if(h==2){
  printf("Введите строку:\n");
  fflush(stdin);
  gets(str);
  OemToChar(str, str);
  p1=strtok(str," ");//OemToChar(p1, p1);
        do
        {
            for (i=0; i<strlen(str); i++)
                if (str[i]=='а' && k==0){
                    str[i]='о';
                    k++;
                }
        }
        while(p1=strtok(NULL, " "));
 }
   printf("%s\n", str);
   printf("Результат сохранить в файл(да,нет)?\n");
 scanf("%s",s);
 OemToChar(s,s);
 if(strcmp(s,"да")==NULL){
  f2=fopen("rezult.txt","w");
 fprintf(f2, "%s\n", str);
 fclose(f2);}
return 0;}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2012, 14:09
Ответы с готовыми решениями:

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно"
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;,...

Для каждой строки найти слова, которые не имеют ни одного из букв: "l", "k", "r", "s" i "j"
Задано символьные строки. Строка состоит из нескольких слов (наборов символов), которые разделяются...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование)
Разработать программу с использованием наследования классов, реализующую классы: − воин;...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания"
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько...

1
1311 / 973 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
17.07.2012, 15:44 2
Можно вот так сделать
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
#include <iostream> 
using namespace std; 
int main() 
{ 
    char str[] = "arsenal London arshavin andrey"; 
    char* ptr;  
    int count = 0; 
    int i, j;
 
    ptr = strtok(str, " "); 
 
    while(ptr!=NULL) 
    { 
        int size = strlen(ptr); 
 
        
        for ( i = 0; i < size; i++) 
        { 
            if(count == 0 && ptr[i] == 'a') 
            {
                ptr[i] ='o';  
                count++; 
            }
            else if (count != 0 && ptr[i] == 'a') 
            { 
                for ( j = i; j < size; j++) 
                    ptr[j] = ptr[j+1]; 
                size--; 
            }   
            
        }
            cout << ptr << endl; 
            count = 0; 
            ptr = strtok(NULL, " ");  
    }  
 
    return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2012, 15:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

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

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс"
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об...

Определить тип данных "Запись", имеющий поля "Фамилия", "Пол", "Зарплата"
определить тип данных запись имеющий поля фамилия пол зарплата. определить массив из 10 записей. в...

Связать отношением наследования классы "Место", "Область", "Город", "Мегаполис"
Для определения иерархии классов связать отношением наследования классы, приведенные в приложении...


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

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

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