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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.81
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
03.10.2012, 16:42     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" #1
В русском языке, как правило, после букв Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю. Проверить заданный текст на соблюдение этого правила и исправить ошибки (с учетом исключений: ЖЮРИ, БРОШЮРА, ПАРАШЮТ).
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
03.10.2012, 16:51     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" #2
Загоняешь текст в сроку std::string. Затем вызываешь метод find. Ищешь все вхождения неверных сочетаний букв. Для каждого вхождения проверяешь, не является ли это словом-исключением. Если является - пропускаешь. Если нет - исправляешь
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"
потому что больше не какие нам не рассказывали!
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
24.10.2012, 15:11  [ТС]     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" #4
так как это реализовать на С++
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 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)
{
// меняешь букву
}
вот, как то так
dimafarsh
3 / 3 / 0
Регистрация: 15.04.2012
Сообщений: 74
24.10.2012, 15:36  [ТС]     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" #6
а можно весь код целиком пожалуйста!
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
24.10.2012, 15:38     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю" #7
Да я ж почти все написал, а что именно не получается?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 15:51     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю"
Еще ссылки по теме:

При сокращении "Фамилия Имя Отчество" к "Фамилия И.О." пропадают "И.О." C++
Проверить правило "четные/нечетные элементы имеют четные/нечетные индексы" C++
Наследование классов "Заявка", "Техническое задание", "Техническое предписание" C++

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

Или воспользуйтесь поиском по форуму:
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()
Yandex
Объявления
24.10.2012, 15:51     Правило "Ж, Ч, Ш,Щ пишется И, А, У, а не Ы, Я, Ю"
Ответ Создать тему
Опции темы

Текущее время: 01:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru