Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
F1xie
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 90
1

Ньюансы кода

07.02.2019, 00:23. Просмотров 234. Ответов 3
Метки нет (Все метки)

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "stdafx.h"
#include <algorithm>
#include <iostream>
#include <string>
#include <windows.h>
#include <conio.h>
#include <fstream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
string s, slovo, slovo1, name;
ifstream F;
cout << "Введите имя текстового файла (например: D:\\\\abc.txt)" << endl;
do {
cin>>name;
F.open(name);
if (!F) cout << "Такого файла не существует! Повторите ввод." << endl;
}
while (!F);
getline(F, s);
cout << "Содержимое файла: " << s << endl;
F.close();
for (int i = 0; i<s.length(); i++)
if ((s[i]==',') || (s[i]=='.') || (s[i]=='!') || (s[i]=='?') || (s[i]=='-') || (s[i]==':') || (s[i]==';') || (s[i]=='(') || (s[i]==')') || (s[i]=='0')|| (s[i]=='1')|| (s[i]=='2')|| (s[i]=='3')|| (s[i]=='4')|| (s[i]=='5')
 
|| (s[i]=='6')|| (s[i]=='7')|| (s[i]=='8')|| (s[i]=='9')) s[i]=' ' ;
for (int i = 0; i<s.length(); i++)
{ s[i]=tolower(s[i]); }
// поиск первого самого короткого слова
s=s+" ";
int k = 0;
slovo = "";
for (int i = 0; i<s.length(); i++)
{
slovo = slovo + s[i];
if ((s[i] == ' '))
{
if (slovo == " ")
{
slovo = "";
continue;
}
k++;
if ((slovo.length() < slovo1.length()) || (k == 1)) {
slovo1 = slovo;
slovo = "";
continue; }
slovo = "";
}
}
// нахождение количества встречаемости первого самого короткого слова в тексте
slovo = "";
int n=0;
for (int i = 0; i<s.length(); i++)
{
slovo = slovo + s[i];
if ((s[i] == ' '))
{
if (slovo == slovo1) n++;
slovo = "";
}
}
cout << "Самое короткое слово - " << slovo1 << endl;
cout << "Оно встречается в тексте " << n << " раз(а)."<<endl;
_getch();
return 0;
}
Программа определяет самое короткое слова в файле и выводит его.
Цикл A: i от 0 до длины s, slovo = slovo + s[i], s[i] == , slovo = "", k++, (slovo.length() < slovo1.length()) || (k == 1) , slovo1 = slovo;slovo = "" , slovo = "" что всё это значит?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2019, 00:23
Ответы с готовыми решениями:

Вынести основную часть кода кода в отдельную функцию
помогите пожалуйста переделать это на функцию... #include &lt;locale.h&gt; #include &lt;conio.h&gt; int...

Советы по ускорению работы кода + оценка самого кода
Вчера вечером сел написать 3 консольные программки для работы с шаблонами размножения текста:...

Исправление кода. Функция по нахождение суммы между мин и макс показателями массива. Корректировка кода
Прошу помощи. Написал программку, проблема состоит в функции summ в ней происходит нахождение...

8.5.1фп1 - ньюансы
читал, думал разное в очередной раз......

Ньюансы Stamps 085
Подскажите, как сделать надпись в границе печати? т.е. там синяя полоска а в ней белые буквы типа...

3
F1xie
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 90
07.02.2019, 00:36  [ТС] 2
Обьясните пожалуйста блоки с 8 по 17
8)Цикл A: i от 0 до длины s, 9)slovo = slovo + s[i], 10)s[i] == , 12)slovo = "", 13)k++, 14)(slovo.length() < slovo1.length()) || (k == 1) , 15)slovo1 = slovo; slovo = "" , 16)slovo = ""
вот чтобы можно было разобрать что написанно
0
Вложения, ожидающие проверки
Тип файла: png Безымянный.png
F1xie
0 / 0 / 0
Регистрация: 19.02.2018
Сообщений: 90
07.02.2019, 00:40  [ТС] 3
Вот тот скриншот,прошу прощения
0
Миниатюры
Ньюансы кода  
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
7638 / 3787 / 518
Регистрация: 04.12.2011
Сообщений: 10,911
Записей в блоге: 5
07.02.2019, 02:20 4
Цитата Сообщение от F1xie Посмотреть сообщение
Обьясните пожалуйста блоки с 8 по 17
Блоки с 8 по 17 (равно как и остальные) - типичный говнокод.
Строка разбиения с заменой сплитеров на пробелы особенно ядрёная. Аж глаз режет:
Цитата Сообщение от F1xie Посмотреть сообщение
if ((s[i]==',') || (s[i]=='.') || (s[i]=='!') || (s[i]=='?') || (s[i]=='-') || (s[i]==':') || (s[i]==';') || (s[i]=='(') || (s[i]==')') || (s[i]=='0')|| (s[i]=='1')|| (s[i]=='2')|| (s[i]=='3')|| (s[i]=='4')|| (s[i]=='5') || (s[i]=='6')|| (s[i]=='7')|| (s[i]=='8')|| (s[i]=='9')) s[i]=' ' ;
То есть, если "mama,mila(Ramu-Krishmu)" то получится "mama mila Ramu-Krishmu)" это я к тому, что Рама-Кришна будет вымыт и всяко доволен. Но разделён на Раму и Кришну по дефису он не будет. Рама от Кришны не отделится таким способом и будет Кришна иметь рамную конструкцию.
Иначе говоря, данные действия можно расценивать как намерения и они прозрачны.
0
07.02.2019, 02:20
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.02.2019, 02:20

Qt 5.01 / инсталяция под CentOS 6.3 / ньюансы
Здравствуйте! Самообладания моего и понимания уже больше нет.! Для кроссплатформенной разработки...

Ньюансы создания телефонного справочника
Ребята есть вопрос к вам! Хочу сделать электронный телефонный справочник предприятий, учреждений,...

ньюансы схемы свар.маски Хамелеон
в общем, притащили тут, &quot;не срабатывает&quot;. имею два непонятных момента: 1. зачем операционник...


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

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

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