Форум программистов, компьютерный форум 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
10.04.2012, 00:44     В текстовом файле после каждой 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
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
#include <iostream>
#include <fstream>
#include <string.h>
#include <locale.h>
using namespace std;
 
const size_t QPART = 4;  
 
int ispunctFun(const char ch);
 
 
void insert ( char*str,
                int pos, char sym);
 
 
void  fill_part ( char *part,
                  size_t start,
                  size_t length,
                  char * str );
 
 
void  insert_in_part (  char *part,
                        size_t  ind,
                        char *keyword);
 
void   output (  char *part  );
 
 
int main()
{   
    setlocale(LC_ALL,"Russian");
             
             size_t i = 0;
             size_t worksize = 0;
             size_t parts_length = 0;
             char *str = NULL;
             char *part = NULL;
             char text[4][256] = {
                                   "Вставка символов после первой буквы :\n",
                                   "Вставка символов после второй буквы :\n",
                                   "Вставка символов после третьей буквы :\n",
                                   "Вставка символов после четвертой буквы :\n" };
            
             char keyword[100] = "Привет";  // СЛОВО ДЛЯ РАЗБИВКИ НА СИМВОЛЫ 
 
    ifstream  infile;
    infile.open("file.txt");
    if(!infile) cerr << "Ошибка открытия файла для чтения!!!" << endl;
 
    else {
 
        infile.seekg(0,ios::end);
        worksize = infile.tellg();//  РАЗМЕР ФАЙЛА 
        infile.seekg(0,ios::beg);
 
        str = new char[worksize * 16];   
 
        infile.unsetf(ios::skipws);// ДЛЯ ПРОБЕЛОВ 
        cout << "Исходный текст : \n\n";
 
    /////////////////////////////////////////////////////////////////////////
        // //             ЧИТАЕМ ФАЙЛ В МАССИВ 
    /////////////////////////////////////////////////////////////////////////
        while(infile >> str[i])
        {  
            cout << str[i]; //   ВЫВОД НА ЭКРАН 
            i++; 
        } 
        str[i] = '\0';      worksize = i;   //  КОЛИЧЕСТВО СИМВОЛОВ В ФАЙЛЕ
        while(worksize % QPART != 0) worksize++;  // СДЕЛАЕМ КРАТНЫМ ЧЕТЫРЕМ 
        parts_length = (worksize /QPART);  // ДЛИНА  ЧАСТИ ТЕКСТА
        part = new char[parts_length * QPART ];
 
///////////////////////////////////////////////////////////////////////////////////
                           //  ТЕКСТ НА ЧАСТИ 
////////////////////////////////////////////////////////////////////////////////////
 
        cout << "Новый текст : \nПервая часть текста :\n";//
        for(i = 0; i < QPART ;i++){
        fill_part(part, 0, parts_length - 1, str);               // 1  ЧАСТЬ  ТЕКСТА 
        insert_in_part ( part, i, keyword );  
        cout << text[i];
        output ( part);
        }
                
/////////////////////////////////////////////////////////////////////////////////////
 
                cout << "Вторая часть текста :\n";//
        for(i = 0; i < QPART ;i++){
        fill_part(part,parts_length - 1, (parts_length * 2) - 2, str);  // 2 ЧАСТЬ  
        insert_in_part ( part, i, keyword );  
        cout << text[i];
        output ( part);
        }
 
                
/////////////////////////////////////////////////////////////////////////////////////
 
                cout << "Третья часть текста\n";//
 
                        for(i = 0; i < QPART ;i++){
        fill_part(part,(parts_length * 2) - 2, (parts_length * 3) - 3, str);   // 3 ЧАСТЬ 
        insert_in_part ( part, i, keyword );  
        cout << text[i];
        output ( part);
        }
 
                
/////////////////////////////////////////////////////////////////////////////////////
 
                cout << "Четвертая часть текста\n";//
 
                        for(i = 0; i < QPART ;i++){
        fill_part(part,(parts_length * 3) - 3, (parts_length * 4) - 4, str);          // 4  ЧАСТЬ
        insert_in_part ( part, i, keyword );  
        cout << text[i];
        output ( part);
        }
 
 
    delete[]str;
    delete[]part;
    
    }
    infile.close();
    system("pause");
}
 
 
int ispunctFun(const char ch)
{
                      if(!ch)return 0;
                      size_t loop = 0;
                      const char *punct = " >,(<'.\-\t)/[?]!}|:{;";
            
             while(*punct) 
                      if(ch == *(punct++))
                      loop ++;
                      return loop;                         
 }
 
void insert ( char*str,
              size_t pos, 
              char sym)
 {
               for ( size_t i = strlen(str); i >= pos; i--)
                                   str [i + 1] = str[i];
                                         str[pos] = sym;
}
 
void  fill_part ( char *part,
                  size_t start,
                  size_t length,
                  char * str )
{             
             size_t k = 0, i = 0;
 
                          for(i = start;i < length;i++,k++)
                                  part[k] = str[i];
                                  part[k] = '\0';  k = 0;
 
    }
 
 
void  insert_in_part (  char *part,
                        size_t ind,
                        char *keyword ) 
                                      
{
 
                       size_t count = 0, i, j = 0;
                       for(i = 0;part[i] != '\0';i++)
                       {
                            if(!ispunctFun( part[i])) 
                                  count ++;
                                  else count = 0;
 
                                  if(j >= strlen(keyword))
                                         j = 0;
 
                                  if(count % (ind + 1) == 0 && count != 0 && ind) 
                                  {
                                       
                                   insert(part, i + 1, keyword[j++]);
                             }
 
                                         if(count % (ind + 2) != 0 && count != 0 && !ind) 
                                  {
                                        
                                   insert(part, i + 1, keyword[j++]);
                             }
 
                        }
                       part[i] = '\0';
}
 
 
void output(char *part)
{
                cout <<  part  << endl << endl ;
                part[0] = '\0';
}


Добавлено через 32 минуты
''''''''''''''''''''''''
 
Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru