Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для Nikolay K
1 / 1 / 0
Регистрация: 12.01.2020
Сообщений: 28
Записей в блоге: 11
1

Дана строка состоящая из слов, разделенных пробелами (одним или несколькими). Вывести строку содержащую эти же слова

27.01.2020, 13:44. Показов 4804. Ответов 0

Author24 — интернет-сервис помощи студентам
Решил выложить свои лабораторные работы 1-10 за первый курс, первого семестра (01.09.2019-10.01.2020). Искренне надеюсь, что кому-нибудь пригодится.

Примечания к программе смотрите в исходном файле Source.cpp (архив находится по веб-адресу ниже). Здесь я их удалил, чтобы не нагромождать программу.

1 / 4. Source.cpp:

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
/*
 *Лабораторная работа: 7.
 *Тема: Строки и файлы. Организация работы со строками и файлами.
 *Пункт: 5.1. Строковый тип данных.
 *Файл: Lab07_YaP_2019_1S.pdf
 *
 *Язык: C++.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: x64.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 15.11.2019.
 *Задание: 3. Дана строка состоящая из слов, разделенных пробелами (одним или несколькими). Вывести строку содержащую эти же слова
 *     (разделенные одним пробелом), но расположенные в обратном порядке.
 */
 
#include <iostream>                                                  // Требуется для SETLOCATE, PRINTF, CIN, COUT. //
#include "Header.h"
 
void main () {
     setlocale (LC_ALL, "Russian");
     const int Dimension = 99;
     char SourceArray [Dimension + 1] = "";                          // 99 + 1 = 100 - чтобы не проверять длину SOURCEARRAY с помощью
     printf ("1. Введите исходную строку (до 99 символов, включительно):\n\n");
     cin.getline (SourceArray, Dimension);                           // дополнительной функции. В настоящем примере все символы, которые
     printf ("\n2. Строка в обратном порядке:\n\n");                 // выйдут за DIMENSION будут удалены программой. //
     ChangeFunction (SourceArray);
     cout << endl << endl;
     ExitProgramFunction ();
}
2 / 4. Header.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/*
 *Лабораторная работа: 7.
 *Тема: Строки и файлы. Организация работы со строками и файлами.
 *Пункт: 5.1. Строковый тип данных.
 *Файл: Lab07_YaP_2019_1S.pdf
 *
 *Язык: C++.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: x64.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 15.11.2019.
 *Задание: 3. (...)
 */
 
using namespace std;
 
void ExitProgramFunction ();                                         // Объявление EXITPROGRAMFUNCTION. //
void ChangeFunction (char *SourceArray);                             // Объявление CHANGEFUNCTION. //
3 / 4. ChangeFunction.cpp:

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
/*
 *Лабораторная работа: 7.
 *Тема: Строки и файлы. Организация работы со строками и файлами.
 *Пункт: 5.1. Строковый тип данных.
 *Файл: Lab07_YaP_2019_1S.pdf
 *
 *Язык: C++.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: x64.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 15.11.2019.
 *Задание: 3. (...)
 */
 
#include <iostream>                                                  // Требуется для STRLEN, PRINTF. //
#include "Header.h"
 
void ChangeFunction (char *SourceArray) {                            // Определение CHANGEFUNCTION. //
     int Pointer = strlen (SourceArray) - 1;
     for (int i = Pointer; i >= 0; i--) {                            // Проверка SOURCEARRAY на наличие пробелов (с конца). //
          if ((SourceArray [i] == ' ') && (SourceArray [i + 1] != ' ') && (i != 0)) {
               for (int j = i + 1; j <= Pointer; j++) {              // Если находится пробел и при этом предыдущий симвом пробелом не
                    cout << SourceArray [j];                         // является, то посимвольно выводятся на экран все элементы до
               }                                                     // последнего POINTER, включительно. //
               Pointer = i;                                          // Перенос POINTER на текущий символ (пробел). POINTER становится
               printf (" ");                                         // текущим. //
          }
          if ((SourceArray [i] == ' ') && (i != 0)) {                // Если текущий элемент оказался пробелом, то POINTER сдвигается на
               Pointer = i - 1;                                      // следующий символ. //
          }
          if (i == 0) {                                              // Если SOURCEARRAY [0], то автоматически выводятся на экран все
               for (int j = 0; j <= Pointer; j++) {                  // символы до POINTER. //
                    cout << SourceArray [j];                         // Если перед SOURCEARRAY [0] пробела не было, то он добавляется
               }                                                     // автоматически. //
          }
     }
}
4 / 4. ExitProgramFunction.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 *Лабораторная работа: 7.
 *Тема: Строки и файлы. Организация работы со строками и файлами.
 *Пункт: 5.1. Строковый тип данных.
 *Файл: Lab07_YaP_2019_1S.pdf
 *
 *Язык: C++.
 *Среда: Microsoft Visual Studio 2019 v16.3.0.
 *Платформа: x64.
 *Изменение: 06.01.2020.
 *
 *Вариант: 13.
 *Защита: 15.11.2019.
 *Задание: 3. (...)
 */
 
#include <iostream>                                                  // Требуется для SYSTEM, EXIT. //
#include "Header.h"
 
void ExitProgramFunction () {                                        // Определение EXITPROGRAMFUNCTION. //
     system ("pause");
     exit (true);
}
Архив с исходными файлами (Cyberforum.ru, 11 MB)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2020, 13:44
Ответы с готовыми решениями:

Дана строка, состоящая из латинских слов, разделенных пробелами (одним или несколькими). Найти количество слов в стро
#include &lt;iostream&gt; #include &lt;cstring&gt; using namespace std; int main() { char s=&quot;rkghwrkh rwhtuetw ryjeyj fhd dhdh&quot;; int i =...

Дана строка, состоящая из слов, разделённых пробелами(одним или несколькими) . Найти количество слов , которые не содерж
Дана строка, состоящая из слов, разделённых пробелами(одним или несколькими) . Найти количество слов , которые не содержат буквы...

Дана строка, состоящая из слов на английском языке, разделенных пробелами. Вывести на экран эти слова в порядке алфавита
Дана строка, состоящая из слов на английском языке, разделенных пробелами. Вывести на экран эти слова в порядке алфавита.(сделать через...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.01.2020, 13:44
Помогаю со студенческими работами здесь

Дана строка, состоящая из слов, разделенных одним или несколькими пробелами. Вывести строку, содержащую эти же слова
Помогите, напишите программу: Дана строка, состоящая из слов, разделенных одним или несколькими пробелами. Вывести строку, содержащую эти...

Дана строка, состоящая из латинских слов, разделенных пробелами. Вывести строку, содержащую эти же слова, но разделенные одним символом "."
Дана строка, состоящая из латинских слов, разделенных пробелами. Вывести строку, содержащую эти же слова, но разделенные одним символом...

Дана строка, состоящая из русских слов, разделенных пробелами. Вывести строку, содержащую эти же слова, разд
Дана строка, состоящая из русских слов, разделенных пробелами. Вывести строку, содержащую эти же слова, разделенные одним символом «.» . В...

Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими)
3.1. Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить длину самого короткого и длинного...

Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими)
Дана строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые начинаются и...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Исследование байт-кода Python: подключаем дизассемблер
stackOverflow 19.02.2025
Многие знают, что Python - интерпретируемый язык, но мало кто задумывается о том, что происходит между написанием кода и его выполнением. На самом деле Python использует промежуточное представление. . .
Исследование байт-кода Python: компиляторы против интерпретаторов
stackOverflow 19.02.2025
Понимание байт-кода Python - основополагающий аспект для разработчиков, стремящихся глубже понять внутренние механизмы языка и оптимизировать производительность своих программ. Байт-код представляет. . .
Comprehensions в Python - что это такое?
stackOverflow 19.02.2025
Когда речь заходит о Python, одной из его самых красивых и мощных возможностей являются списковые включения или comprehensions. Это особые синтаксические конструкции, позволяющие создавать новые. . .
Python правда такой медленный? Развенчиваем миф о медлительности
stackOverflow 19.02.2025
Когда речь заходит о выборе языка программирования для нового проекта, вопрос производительности часто становится одним из ключевых факторов. Python, несмотря на свою популярность и простоту. . .
Динамические формы в Flask
stackOverflow 19.02.2025
Работа с веб-формами часто требует гибкости в отношении количества полей, которые пользователь может заполнить. Представьте ситуацию, когда вам нужно создать форму для ввода контактных данных, где у. . .
Обнаружение объектов в реальном времени на Raspberry Pi с OpenCV и Movidius NCS
stackOverflow 19.02.2025
Технология обнаружения объектов в реальном времени становится все более востребованной в различных областях - от систем безопасности до автономных транспортных средств. Особый интерес представляет. . .
где chromium хранит пароли и как их обнулить в пожарном варианте
jigi33 19.02.2025
Where is the chromium browser stores passwords for a sites где chromium-подобный браузер хранит пароли и как их обнулить в пожарном варианте (see screenshot)
howto get access to external internet resources with kinit
jigi33 19.02.2025
Решение проблемы с необходимостью доп. авторизации по Керберос для автоотработки аутентификации на прокси-сервер (see screenshot)
Отслеживание автомобилей и определение скорости с OpenCV и Python на Raspberry Pi
stackOverflow 19.02.2025
В этой статье мы рассмотрим создание системы отслеживания транспортных средств и определения их скорости с использованием компьютерного зрения и библиотеки OpenCV. Наше решение основано на принципе. . .
ENV (environments) valid paths in linux
jigi33 19.02.2025
Environments paths (see screenshot)
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru