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

Перенос буквы в конец слова - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как определить пересечение 2-х треугольников в трехмерном пространстве? http://www.cyberforum.ru/cpp-beginners/thread612174.html
Собсно сабж) Какие есть идеи?
C++ Шифрование графического файла Здрасти.. Идея просто зашифровать считанный граф файл блочным симметричным алгоритмом. int inf=1000000; void __fastcall TForm1::Button5Click(TObject *Sender) { String s2,s1; s1=Edit2->Text; s2=Edit3->Text; //FILE *fp1; ifstream infile (s2.c_str(),ios::binary|ios::in); http://www.cyberforum.ru/cpp-beginners/thread612166.html
C++ Шаблон класса Node для узла связного списка
Здравствуйте, помогите пожалуйста реализовать и протестируйте функцию: template <class T> Node<T> *GetNode(const T &item, Node<T> *nextPtr = NULL); создающую в динамической памяти узел-объект класса Node с данным item и указателем на следующий узел nextPtr. nodelib.h template <class T> class Node { private:
Задача по одномерным массивам C++
Помогите плиз решить задачу по одномерным массивам в C++ "Дан массив целых чисел из n элементов. Найти удвоенную сумму положительных элементов. Подсчитать количество элементов массива, не превосходящих по модулю заданного числа В. Заменить нулевые элементы массива единицами." заданий очень много, не успеваю всё решить...
C++ алгоритмом Определить номера строк, в которых первый элемент равен последнему http://www.cyberforum.ru/cpp-beginners/thread612124.html
Помогите с алгоритмом Вот сама задача: Дана матрица размером МxN. Определить номера строк, в которых первый элемент равен последнему. Тут все понятно, кроме одного где строка у матрицы МxN(M- столбец или N- Строка или наоборот). и последний элемент это будет j-n ? так что ли ?
C++ Наследование шаблонов Не вижу, в чём ошибка. В дочернем классе ругается, что переменная val не определена... Я неправильно делаю наследование? template <class elementType> class Base { protected: elementType val; }; template <class elementType> подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.06.2012, 01:26     Перенос буквы в конец слова
Код
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
96
97
98
 /*В произвольном тексте (взятом из файла), содержащем не более 10 строк,
 в каждой строке не более 80 смволов, перенести первую букву каждого слова в его конец.
 Отсортировать строки в порядке убывания количества слов.
 Вывести полученный текст на экран. Выведенную информацию продублировать в текстовый файл,
 имя которого задаёт пользователь*/
 
#include <string>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <sstream>
#include <cctype>
 
#define QUAN 50
 
size_t change(std::string &str);
 
int main(){
    size_t i = 0, j = 0, value[QUAN];
    std::string text[QUAN];
    std::string filename, filename2;
    std::cout << "Input a name of  file for reading :\n";
    getline(std::cin,filename);
    std::ifstream infile(filename.c_str());
    if(!infile)
    {
         std::cerr << "Error opening file for reading !";
         return (1);
    }
    else
    {
           while(getline(infile,text[i]))
           {
                  std::cout << text[i] << '\n';
                  value[i] = change(text[i]);
                  i++;
           } 
 
           for(j = 1; j < QUAN; j++)
           for (i = 0; i < QUAN - j; i++)
             {
                 if(value[i + 1] > value[i] )
                      {
                      std::swap(value[i + 1], value[i] );
                      std::swap( text[i + 1],  text[i] );
                      }
             }
    }
 
    std::cout << "Input a name of file for writing :\n";
    getline(std::cin,filename2);    
    std::ofstream outfile(filename2.c_str());
 
      if(!outfile)
      {
        std::cerr << "Error opening file for writing !";
        return (1);
      } 
      else
      {
             for( i = 0; i < QUAN; ++i)
             {
                 if(!text[i].empty())
                  {
                      outfile << text[i] << '\n';
                      std::cout << text[i] << '\n'; 
                 }
             }  
      }
    infile.close();
    outfile.close();
 
  return (0);
}
 
size_t change(std::string &str)
{
    size_t count = 0, beg = 0, fin = 0; 
    std::string tmpstring;
    std::stringstream stream(str );
    while(stream >> str )
    {
        for( beg = 0; beg < str.length(); beg++)
        {
            if(isalnum(str[beg])) break;
        }
        for( fin = str.length() - 1; fin > 0; fin--)
        {
            if(isalnum(str[fin])) break;
        }
        str.insert(fin + 1, str.substr(beg ,1) ); 
        str.erase(beg, 1);
        count++;
        tmpstring +=(' ' + str);
    }
    str = tmpstring; 
    return count;
}
 
Текущее время: 19:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru