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

Длина текста не больше 150 символов, могут быть использованы любые символы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ругается на оператор strcmp http://www.cyberforum.ru/cpp-beginners/thread609694.html
Создал базовый класс: #include <stdio.h> #include <conio.h> #include <iostream.h> #include <io.h> class Aviopolet {
C++ vector и выбор наименьшего значения двумя соседними числами Суть задачи: Считайте последовательности чисел типа double в вектор. Будем считать, что каждое значение представляет собой расстояние между двумя городами, распо- ложенными на определенном маршруте. Вычислите и выведите на печать общее расстояние (сумму всех расстояний). Найдите и выведите на печать наименьшее и наибольшее расстояние между двумя соседними городами. Найдите и выведи- те... http://www.cyberforum.ru/cpp-beginners/thread609667.html
Одномерный массив. Найти количество палиндромов. C++
Помогите написать программу...... Найти количество тех элементов массива, которые являются палиндромами (т.е. читаются одинаково слева направо и справа налево), а также найти минимальный элемент среди тех, цифровая запись которых дает сумму, кратную трем.
return и ptheread C++
Вот код создание двух потоков... #include"stdafx.h" #include <stdio.h> #include <iostream> #include <pthread.h> #include <Windows.h> void *thread1(void*X) { for(int i=0;i<10;++i)
C++ Начальное изучение явного подключения библиотек и использования их функций http://www.cyberforum.ru/cpp-beginners/thread609647.html
Вот код приложения, которое подключает в себя библиотеку plugin1.dll #include <Windows.h> #include <iostream> using namespace std; typedef void (__stdcall *MYPROC)(void); void main(void) { cout << "Load Dll..." << endl;
C++ Проблемы с инициализацией данных Сразу оговорюсь, что на форуме пишу впервые и перед тем, как писать о проблеме ознакомился с похожими темами , но именно по моей проблеме ничего вразумительного не нашёл. Поэтому, уважаемые программисты помогите решить проблему. Написал маленькую, но важную для меня программу, по вычислению таблицы значений функции. Но, всё идёт на перекос, компилируется без проблем и ошибок, а при выполнении... подробнее

Показать сообщение отдельно
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
19.06.2012, 23:26     Длина текста не больше 150 символов, могут быть использованы любые символы
Предположим есть у тебя строка со словами str.
Нужно выделить в ней все слова и их обработать.
Т.е. первое - будет цикл, который будет перебирать все слова.
Функция strtok(str, toFind) - она ищет в строке str первую встречу любого символа из строки toFind. И вместо найденного слова он ставит символ с кодом 0.
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
char *inc = strtok(str, "."); // Ищем точку в строке.
if (inc == NULL) // Точки в строке нет
{
   cout << "Неверная строка!\n";
   return;
}
 
char *inc = strtok(str, " "); // Находим пробел - признак конца слова
do
{
  // В данный момент str указывает на начало слова, а inc на его конец.
  if (str != inc) // str может начаться с пробела, и при поиске мы наткнемся сразу на него.
                     // т.е. слова не будет. Поэтому проверяем не совпали ли у нас начало и конец
  {
    isNumber = 1;
    //В данный момент str указывает на начало слова и в конце слова стоит символ конца строки.
    while (*str != 0)
    {
       if (*str < '0' || *str > '9') // Если в слове есть знаки отличные от цифр, то это не число
       {
         isNumber = 0;
         break;
       }
       if (isNumber == 1)
       {
          //Если слово число - то выполняешь нужные действия
          // Типа распознаешь его, возводишь в квадрат, куб.
       }
 
       // Проверяешь длину слова, если она 7, то проверяешь дальше
       // Пробегаешь опять по всему слову, если там только символы не похожие на русские, то
       // слово тоже удовлетворяет условию - обрабатываешь его.
    }
  }
  str = inc + 1; // Встаем на следующий символ после найденного
  inc = strtok(NULL, " "); // Ищем следующую встречу пробела.
} while (inc != NULL)
Добавлено через 20 минут
Я не вдавался в подробности в твоем примере. Но есть некоторые моменты:
1) Конец строки должна быть точка - но можно ее проверить как я писал в своем.

Добавлено через 7 минут
Вообще остальное похоже на правду, но точно сказать не могу. Прогони по примерам. Поставь пару пробелов в начале, поставь несколько в конце, поставь побольше пробелов между словами.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru