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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
#1

Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" - C++

03.10.2012, 16:42. Просмотров 2070. Ответов 7
Метки нет (Все метки)

В русском языке, как правило, после букв Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю. Проверить заданный текст на соблюдение этого правила и исправить ошибки (с учетом исключений: ЖЮРИ, БРОШЮРА, ПАРАШЮТ).
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2012, 16:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" (C++):

Класс "Матрица". "Правило трёх" - C++
Проблема в том, что я не могу вернуть тип данных "Матрица".Что я делаю не так понял в ООП? // matrica.cpp : Defines the entry point for...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно". Я так...

Почему в scanf("%s",ss) имя ss пишется без амперсанда? - C++
почему в scanf("%s",ss) имя ss пишется без амперсанта?

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.10.2012, 16:51 #2
Загоняешь текст в сроку std::string. Затем вызываешь метод find. Ищешь все вхождения неверных сочетаний букв. Для каждого вхождения проверяешь, не является ли это словом-исключением. Если является - пропускаешь. Если нет - исправляешь
0
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
04.10.2012, 11:14  [ТС] #3
я понимаю! я на поскале могу это как не*** написать!!!! на Си вообще не рублю!!! мне б код

Добавлено через 18 часов 19 минут
нужен код на visual studio C++ 2005
желательно что бы с библиотеками только
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
потому что больше не какие нам не рассказывали!
0
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
24.10.2012, 15:11  [ТС] #4
так как это реализовать на С++
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.10.2012, 15:31 #5
Читаешь на входе текст, потом окрываешь его программно в ворде, включаешь (опять же программно) проверку орфографии. Потом пишешь графический анализатор, при помощи него проверяешь, где ворд подчеркнул красным. Потом пишешь распознаватель текста, при помощи него распознаешь текст, подчеркнутый красным. Проверяешь содержит ли текст буквы Ж, Ч, Ш,Щ
C++
1
size_t found = found=str.find_first_of("ЖЧШЩ");
но лучше делать это в цикле
C++
1
2
3
4
5
found=str.find_first_of("ЖЧШЩ");
while (found!=string::npos)
{
    found=str.find_first_of("ЖЧШЩ", found + 1);
}
в этом же цикле нужно проверить следующую букву, и если она одна из Ы, Я, Ю, то меняешь ее
C++
1
2
3
4
if (found + 1 != std::string::npos && std::string("ЫЮЯ").find(str[found + 1]) != std::string::npos)
{
// меняешь букву
}
вот, как то так
1
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
24.10.2012, 15:36  [ТС] #6
а можно весь код целиком пожалуйста!
0
Kastaneda
Форумчанин
Эксперт С++
4653 / 2862 / 228
Регистрация: 12.12.2009
Сообщений: 7,271
Записей в блоге: 2
Завершенные тесты: 1
24.10.2012, 15:38 #7
Да я ж почти все написал, а что именно не получается?
0
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
24.10.2012, 15:51  [ТС] #8
спасибо, но мы просто такое не изучали и препод запалит что это не я писал) нужно ос помощью стандартных строковых функций
Пример: использования стандартных строковых функций

#include <string.h>
#include <stdio.h>
main()
{
char s1[20],s2[10],s[10];
int x;

printf("Введите строку s1: ");
gets(s1);
printf("Введите строку s2: ");
gets(s2);
printf("Соединение строки s1 и s2:\n ");
strcat(s1,s2);
printf("Строка s1 имеет вид: ");
puts(s1);
printf("Строка s2 имеет вид: ");
puts(s2);
printf("Копирование строки s2 в строку s1:\n ");
strcpy(s1,s2);
printf("Строка s1 имеет вид: ");
puts(s1);
printf("Строка s2 имеет вид: ");
puts(s2);
printf("Сравнение строки s1 и s2:\n ");
x=strcmp(s1,s2);
if(x==0) printf("Строки равны !");
else printf("Строки не равны !");

printf("\nВведите новую строку\n");
scanf("%s",s);
printf("Строка %s имеет длину %d",s,strlen(s));
}

вот с помощью этих функций

Добавлено через 2 минуты
C++ (Qt)
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
     Рассмотрим реальную задачу сортировки строк в алфавитном порядке. Данная задача возникает весьма часто при написании профессиональных программ. Если полагать, что играющую роль будет играть функция strcmp(), используемая для определения старшинства двух строк.
 
#include<string.h>
#include<stdio.h>
main()
{
static char input[20][81];
static char halt[]="";
char *pts[20];
int count=0;
int k,kol=20;
 
printf("Введите до %d строк и они будут отсортированы\n",kol);
printf("Для прекращения ввода нажмите на Enter в начале строки\n");
 while((gets(input[count])!=NULL)&&(strcmp(input[count],halt)!=0)&&(count++<20))
    pts[count-1]=input[count-1];
sort(pts,count);
puts("Отсортированный список");
 for(k=0;k<count;k++)
    puts(pts[k]);
}
 
sort(char *string[],int name)
{
char *temp;
int toop,seek;
 
for(toop=0;toop<name-1;toop++)
  for(seek=toop+1;seek<name;seek++)
   if(strcmp(string[toop],string[seek])>0)
    {
    temp=string[toop];
    string[toop]=string[seek];
    string[seek]=temp;
    }
}
 
А так же можно использовать эти функции 
Функция strcpy()
Функция strlen()
Функция strcmp()
Функция strcat()
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 15:51
Привет! Вот еще темы с ответами:

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

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

Реализовать структуру "Анкета" с полями "Фамилия", "Пол" и "Адрес" - C++
Здравствуйте. Проходим тему Структуры, не могу понять, как определить количество, само задание: #include &lt;iostream&gt; #include...

по строкам.замените в слове сочетание "му" на "а" , а букву "ы" на "ца". очень нужно - C++
замените в слове сочетание &quot;му&quot; на &quot;а&quot; , а букву &quot;ы&quot; на &quot;ца&quot;. очень нужно Добавлено через 21 час 4 минуты неужели никто не знает...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
24.10.2012, 15:51
Ответ Создать тему
Опции темы

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