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

В текстовом файле после каждой 2 буквы вставлять буквы из слова - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Run-Time Check Failure #3 - The variable 'i' is being used without being initialized http://www.cyberforum.ru/cpp-beginners/thread514541.html
#include "stdafx.h" #include "cstdlib" #include "cstring" #include "iostream" using namespace std; int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL, "Russian"); const int n=20;
C++ Организация клиента сервера передачи данных по Com порту есть 2 ПК соединенных через COM порт. Надо организовать между ними связь. То есть 1 комп -сервер, другой клиент. Меня интересует тут все... 1) как организовать структуру программ. 2) что именно синхронизировать. Ну например поток приема данных зациклить надо, а отправки- нет. Нужно ли блокировать потом приема данных если получаем много пакетов, чтобы их обработать? Потери будут ли? ... http://www.cyberforum.ru/cpp-beginners/thread514537.html
обьясните задание C++
Захватить память для массива из 10 структур Заполните массив данными из файла "2.dat". Вывести информацию о маршрутах, имеющих определенный пункт в качестве начального или конечного. Высчитать для них среднюю длину. Перед завершением программы освободить память структура вот такая
С++. Действие с числом и составляющими его цифрами. C++
Помогите пожалуйста с заданием... ооочень нужно. Задание: Дано трехзначное число. Найти сумму и произведение его цифр. Вывести число, полученное при прочтении исходного числа справа налево. В нем зачеркнули первую слева цифру и приписали ее справа. Вывести полученное число.
C++ непонятная строка !!! http://www.cyberforum.ru/cpp-beginners/thread514512.html
помогите мне .я не понимаю функцию у одной строки .объясните детально если не трудно #include <iostream> using namespace std; /// class Distance { private: int feet; float inches; public:
C++ Динамический массив объектов структуры AEROFLOT Подготовьте массив указателей на AEROFLOT на 50 элементов. Считайте все записи из файла "5.dat" . Для чтения каждой отдельной записи осуществите динамический захват памяти. Соответствующий адрес храните в массиве указателей. Выполните сортировку данных по номеру рейса - причем сортировать потребуется только указатели в массиве. подробнее

Показать сообщение отдельно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
25.03.2012, 02:34     В текстовом файле после каждой 2 буквы вставлять буквы из слова
Как смог, сразу написал . Надеюсь не опоздал .

Цитата Сообщение от _Sandra_ Посмотреть сообщение
все операции с русскими буквами
В VisualStudio все работает.

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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <iostream>
#include <fstream>
using namespace std;
 
bool isAlpha(const char sym);
 
void insert(char*insword, int pos, char sym);
 
void  mainInsert(char *word,char *charar) ;
 
void fileWork(ifstream& infile,ofstream& outfile);
 
int main(){
    setlocale(LC_ALL,"Russian");
  
 
   ifstream infile("file1.txt");
   if(!infile){
   cout << "Oшибка открытия файла №1 !" << endl;
   return 1;
   }
   ofstream outfile("file2.txt");
   if(!outfile){
   cout << "Oшибка открытия файла №2 !" << endl;
   return 1;
   }
 
   fileWork(infile,outfile);
 
   infile.close();
   outfile.close();
   cout << endl;
system("pause");
return 0;
}
 
/////////////////////
//   ФУНКЦИЯ ОПРЕД . ЧТО СИМВОЛ -  БУКВА 
bool isAlpha(const char sym){
    size_t loop = 0;
    char *p = ";(/:),}.[?]!{ \n";
    if(!sym) return 0;
    while(*p){
        if(sym == *p++) loop++;}
    if(loop)
        return false;
    else return true;
}
 
/////////////////////
//   ПОДФУНКЦИЯ ВСТАВКИ СИМВОЛОВ
void insert(char*insword, int pos, char sym)
 
 { size_t i = 0;
     for ( i = strlen(insword); i >= pos; i--)
             insword[i + 1] = insword[i];
                      insword[pos] = sym;
}
 
/////////////////////
//  ГЛАВНАЯ ФУНКЦИЯ ВСТАВКИ СИМВОЛОВ
void  mainInsert(char *word,char *charar) {
    size_t i = 0;
    size_t k = 0;
    while(word[i]){
            
      if(i % 2 == 0 && i != 0){
            if(k == strlen(charar))
          k = 0;
    insert( word, i + 1, charar[k++]);}  
      i++;}
}
/////////////////////
//   ФУНКЦИЯ РАБОТЫ С ФАЙЛОМ 
void  fileWork(ifstream& infile,ofstream& outfile){
    char word[100] = "";
    char insword[100] = "";
    char charact[20] = "" ;
    size_t n = 0;
    size_t i = 0;
    size_t j = 0;
    size_t wordcount = 0;
    size_t chcount = 0;
    size_t count = 0;
 
    char text[512] ="";
 
 
    infile.unsetf(ios::skipws);// ДЛЯ ПРОБЕЛОВ 
    while(!infile.eof()){
    infile >> text[i];//  ФАЙЛ В МАССИВ 
 
        ////////////////////////////////////////////////////////////
 
        if(isAlpha(text[i - 1]))  //  ЕСЛИ КОНЕЦ СЛОВА 
            if(!isAlpha(text[i]) ) { // УВЕЛИЧИТЬ 
                wordcount++;          // СЧЕТЧИК СЛОВ
            }
        /////////////////////////////////////////////////////////////
            if(wordcount % 2 != 0 ) {   // ЕСЛИ СЧЕТЧИК НЕ ЧЕТНОЕ
                                
                insword[n] = text[i] ;    // ЗАПОМНИМ ВТОРОЕ СЛОВО
                n++;
        }
    ///////////////////////////////////////////////////////////////////
 
        if(wordcount % 2 == 0 ) {    // ЕСЛИ СЧЕТЧИК  ЧЕТНОЕ
        word[j++] = text[i];         // ЗАПОМНИМ ПЕРВОЕ СЛОВО
    if(j % 3 == 0 && j != 0 && isAlpha(text[i])){
        charact[chcount++] = text[i];       // ЗАПОМНИМ СИМВОЛЫ ВСТАВКИ 
            }
    ////////////////////////////////////////////////////////////    
 
    if(!isAlpha(text[i])) {        // ЕСЛИ НЕ БУКВА ВСЕ ОБНУЛИМ
        charact[chcount] = '\0';
    word[j] = '\0';
    insword[n] = '\0';
    j = 0; chcount = 0;n = 0;
    count = 0;}
        }
/////////////////////////////////////////////////////////////////////////////
 
        //ЕСЛИ КОНЕЦ СЛОВА И СЧЕТЧИК  ЧЕТНОЕ   ВСТАВКА СИМВОЛОВ ИЗ ПЕРВОГО СЛОВА
        //   ЗАПИСЬ В ФАЙЛ И ВЫВОД В КОНСОЛЬ ТО ЧТО ЗАПИШЕТСЯ 
 
     if(isAlpha(text[i - 1])&&!isAlpha(text[i]) && wordcount % 2 == 0 ) {  
 
           mainInsert(insword,charact)  ;  
       
     outfile  << ' ' << word << ' ' << charact << ' '  << insword;
     cout  << ' ' << word << ' ' << charact << ' ' << insword;
 
      }
/////////////////////////////////////////////////////////////////////////
     i++;
     }
}
В первом файле :
C
1
Десятую весну подряд в Совете ветеранов Центрального района проходят встречи поэтов-фронтовиков.Только вот с годами поэтический клуб ветеранов, участников Великой Отечественной войны, становится похожим на творческие вечера других...
Запишется во второй:
C
1
Десятую  су  вессунсуу подряд  дд  в Совете  ве  вевтеевреавнеовве Центрального  нано  ранйаонноан проходят  од  всотдроедчоид поэтов-фронтовиков  эвртив .Тоэлвьрктои вот  т  с годами  ди  подэитдиичдеисдкиидйи клуб, у  веутуеуруаунуоуву участников  ано  Веалниокаонйо Отечественной, есео  воейснеыо становится  авс  поахвосжаивмс на    тв вечера. ча  дрчуагчиахч
 
Текущее время: 07:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru