Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
2 / 2 / 0
Регистрация: 09.11.2018
Сообщений: 93

Соединить три кода в один

21.04.2019, 10:19. Показов 3304. Ответов 22

Студворк — интернет-сервис помощи студентам
Нужно соединить три кода с разными функциями в один и сделать выбор ,что нужно сделать .Я пытался сделать вот так (что получилось довольно криво).Изначально задумывалось так : При открытии программы она спрашивает ,что нужно сделать и вызывает фрагмент кода.
Вот как пытался сделать я.
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#include <iostream>
#include <string>
#include <locale>
#include<stdio.h>
#include<cstring>
 using namespace std;
 
void messege();
int main(int argc, const char * argv[]) {
    int size;
    char string[255];
    char ch;
    printf("BBEDITE sentance : " );
  std::string str = "";
 std::getline(std::cin, str);
  
  std::string result = "";
  printf("CHtO C ETIM CDELAtb ? ");
  printf("CMEHITb REGISTP BCEX CIMBOLOB PyaDa HA PRotivipovojHii - Press 1   \r\n" );
  printf("CMEHiTb REGIStP PREDLOJenIu cherz ODNO - Press 2  \r\n ");
  printf("Hiiti slovo s HauBoLShum koll coGLAsNIH bukv - Press 3 \r\n");
  scanf("%c",&ch);
  switch(ch)
  {
  case '1':
  
  for (std::string::size_type i = 0; i < str.length(); ++i) {
      if (std::isupper(str[i])) result.push_back(std::tolower(str[i]));
      else result.push_back(std::toupper(str[i]));
  }
  
  std::cout << result;
  
  return 0;
  break;
 
case '2':
     char x[100], max[100];
    int n, i, j, s = 0, smax=0, first=0;
    cout << "Enter any string\n";
    cin.getline(x, 100);
    n = strlen(x);
    for (i = 0; i <= n; ++i)
    {
        if (x[i] == 'b' || x[i] == 'c' || x[i] == 'd' || x[i] == 'f' || x[i] == 'g' || x[i] == 'h' || x[i] == 'j' || x[i] == 'k' || x[i] == 'l' || x[i] == 'm' || x[i] == 'n')
        {
            s = s + 1;
        }
        if (x[i] == ' ' || x[i] == '\n' || x[i] == 0) 
        {
            if(s>smax){
                smax = s;
                for (j = first; j < i; ++j)
                    max[j - first] = x[j];
                max[j - first] = 0;
 
            }
            s = 0;
            first = i+1;
        }
    }
    cout << max<<" ";
    
    return 0;
  break;
  case '3':
  char x[100], max[100];
    int n, i, j, s = 0, smax=0, first=0;
    cout << "Enter any string\n";
    cin.getline(x, 100);
    n = strlen(x);
    for (i = 0; i <= n; ++i)
    {
        if (x[i] == 'b' || x[i] == 'c' || x[i] == 'd' || x[i] == 'f' || x[i] == 'g' || x[i] == 'h' || x[i] == 'j' || x[i] == 'k' || x[i] == 'l' || x[i] == 'm' || x[i] == 'n')
        {
            s = s + 1;
        }
        if (x[i] == ' ' || x[i] == '\n' || x[i] == 0) 
        {
            if(s>smax){
                smax = s;
                for (j = first; j < i; ++j)
                    max[j - first] = x[j];
                max[j - first] = 0;
 
            }
            s = 0;
            first = i+1;
        }
    }
    cout << max<<" ";
    return 0;
    break;'
}
}

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
#include <iostream>
#include <string>
#include <locale>
 using namespace std;
 
void messege();
int main(int argc, const char * argv[]) {
    int size;
    char string[255];
    char switcher;
  std::string str = "";
 std::getline(std::cin, str);
  
  std::string result = "";
  
  for (std::string::size_type i = 0; i < str.length(); ++i) {
      if (std::isupper(str[i])) result.push_back(std::tolower(str[i]));
      else result.push_back(std::toupper(str[i]));
  }
  
  std::cout << result;
  
  return 0;
}
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
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
 
int main()
{    
 int i=0,n=0;
    string s;
    cout << "String:\n";
    getline(cin, s);
  while(s[i]!='\0'){
    while(s[i]==' ')i++;
    while(s[i]!=' ' && s[i]!='\0'){
      n%2==0 ? s[i]=toupper(s[i]): s[i]=tolower(s[i]);
       i++;
      }
      n++;
      ++i;
    }
    cout<<s<<"\n";
    system("pause");
    return 0;
}
}
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
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
    char x[100], max[100];
    int n, i, j, s = 0, smax=0, first=0;
    cout << "Enter any string\n";
    cin.getline(x, 100);
    n = strlen(x);
    for (i = 0; i <= n; ++i)
    {
        if (x[i] == 'b' || x[i] == 'c' || x[i] == 'd' || x[i] == 'f' || x[i] == 'g' || x[i] == 'h' || x[i] == 'j' || x[i] == 'k' || x[i] == 'l' || x[i] == 'm' || x[i] == 'n')
        {
            s = s + 1;
        }
        if (x[i] == ' ' || x[i] == '\n' || x[i] == 0) 
        {
            if(s>smax){
                smax = s;
                for (j = first; j < i; ++j)
                    max[j - first] = x[j];
                max[j - first] = 0;
 
            }
            s = 0;
            first = i+1;
        }
    }
    cout << max<<" ";
    return 0;
}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2019, 10:19
Ответы с готовыми решениями:

Как соединить эти три коды в один?
Приветствую! Надо создать стек. Что то нашел в инете, поправил; что то сам написал. Но вот как вставить одни коды в другие не знаю. Кстати,...

Как соединить два кода в один?
Вот код генератора перестановок #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; #include...

Как соединить все три ведомости в один код?
Доброго времени суток уважаемые! Возник следующий вопрос: В прикрепленной фотографии... Есть № ведомости расхода кормов: 01, 02, 03 и...

22
Модератор
Эксперт С++
 Аватар для zss
13789 / 10981 / 6492
Регистрация: 18.12.2011
Сообщений: 29,281
21.04.2019, 14:27
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Yetty Посмотреть сообщение
код из сообщения №4 работает
Работает
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
21.04.2019, 14:38
cyberbustarf,
согласные в английском: bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWX YZ
1
2 / 2 / 0
Регистрация: 09.11.2018
Сообщений: 93
21.04.2019, 15:57  [ТС]
Спасибо ,но по моему заданию указано ,что можно использовать не все
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2019, 15:57

Построить три класса, один базовый и три потомка
Построить три класса (базовый и 3 потомка), описывающих некоторых хищных животных (один из потомков), всеядных(второй потомок) и травоядных...

Найдите за один проход по массиву три его различных элемента,которые меньше всех остальных(три минимума)
const n=10; type myarray=array of integer; var a:myarray; m,k:integer; function minimum (m:myarray):integer; var i,min:integer; ...

Соединить три элемента в одну строку
Программа для двух элементов, напишите пожалуйста для трех с помощью рекурсии! (defun NEW (a b) (concatenate 'string a b))

Соединить три строки через пробел
Есть несколько строк:str1=&quot;Today&quot; str2=&quot;is&quot; str3=&quot;05.05.16&quot;. Используя строковые функции получите новую строку str=&quot;Today is...

Соединить три компьютера в локальную сеть
Есть три компьютера, как их соединить в локальную сеть? То есть правда и оборудование уже подключено, но в сетевом окружении они друг ...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж» Уважаемые коллеги! Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы Математический аппарат моделирования Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
GitDOS: Когда я решил скрестить MS-DOS, GitHub и Claude
MaGz GoLd 08.07.2026
Привет, Киберфорум! Хочу поделиться своим проектом, который, надеюсь, вас заинтересует. GitDOS — это веб-приложение, которое позволяет запускать DOS в браузере с тремя крутыми фичами: диски живут в. . .
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал. Оно само - говорит. Кто слышит тот слышит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru