Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
valanya
0 / 0 / 0
Регистрация: 24.06.2018
Сообщений: 1
1

Программа для работы со строками

24.06.2018, 23:57. Просмотров 234. Ответов 0
Метки нет (Все метки)

Здравствуйте!
Прошу помочь с доработкой/объяснением программы.
Работаю в программе Codeblocks 17.12

Задание.
Требуется разработать программу, которая преобразует любой текстовый файл в другой текстовый файл по правилу, определяемому на основе своего варианта. Указанное правило применяется для каждой строки исходного текстового файла. Номер варианта задания выдается преподавателем.

Дополнительные требования:
1) в ходе выполнения программы пользователь должен иметь возможность ввести имя исходного текстового файла, а также имя получаемого текстового файла;
2) преобразование строки должно быть реализовано в виде функции, при этом один аргумент функции – это указатель на исходную строку, второй аргумент – это указатель на получаемую строку.

Вариант 11
В каждой второй строке надо удалить третье слово, если такое есть, при этом количество пробелов в строке не должно измениться. Остальные строки не меняются.

Вот что я сделал.
1 программа без дополнительных требований, поэтому не устраивает. Как добавить и сделать не знаю. Как то тяжело дается.
2 программа с дополнительными требованиями, но не могу доделать задание по своему варианту, а именно удаление третьего слова. Хотел переписать с первой, но не знаю как заменить функцию erase.
Прикрепляю так же текстовый файл.
Посмотрите пожалуйста и подскажите кто знает. Заранее спасибо)

Текстовый файл.
Ajsjfdjfh lrlkeu dbfdk ldjnf.
Hnddbbey, kdnbdh pei nsg evdk avb rkeybwa.
Poeiuet aahs fdvvd l hd bwgfv aaz, bnxvgd.
Lnxv, faqwr vdhq rqd yqtwr dvsbka.
Rjifhsehwhg gdsk, kdsk, hsye fd.
Gdwei rt.
Lkdndbu kedueyb kdueh zxznx.


программа 1

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
#include <iostream>
#include <fstream>
#include <ctime>
#include <time.h>
#include <string>
#include <Windows.h>
 
using namespace std;
 
 
int main()
{
    HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
    system("color F0");
    int x, y, i, k;
    setlocale (LC_ALL, "RUS");
    string mass;
 
    ifstream fs("textzadaniy.txt", ios::in | ios::binary);
 
    if(!fs)
    {
    return 1;
    }
 
    int r = 0;
    while(getline(fs,mass)!=NULL)
{
    r++;
    if (r%2==0)
 
    {
        k=0;
        i=0;
        while (mass[i]==' ')
            i++;
    for (i; mass[i]!=0; i++)
        {
        if (isblank(mass[i]))
            k++;
        if (k == 1)
            x = i;
        if (k == 2)
            y = i;
        }
 
    if (k>2) mass.erase(x + 1, y - x);
 
    std::cout << "Cтрока после удаления третьего слова:" << endl;
    std::cout << mass << endl;
    printf("\n");
    }
}
    fs.close();
 
    return 0;
}
программа 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
#include <stdio.h>
#include <iostream>
#include <fstream>
#include <ctime>
#include <time.h>
#include <string>
#include <Windows.h>
 
main()
{
setlocale (LC_ALL, "RUS");
 
 int x, y, i, k;
 FILE *in_file;
 char file_name[200];
 char str[200];
 
 printf("\n Имя файла:"); //textzadaniy.txt
 gets(file_name);
 
 in_file=fopen(file_name,"rt");
 if(in_file==NULL)
 {
  printf("Ошибка открытия файла. Файл не найден %s",file_name);
  return 1;
 }
 
 int r = 0;
 while(feof(in_file)==0)
    {
  if(fgets(str,200,in_file)!=NULL)
  {
    r++;
    if (r%2==0)
//
//тут должна быть работа с удалением слов
//
printf("%s",str);
  }
  printf("\n");
    }
 
 fclose(in_file);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2018, 23:57
Ответы с готовыми решениями:

Не определяется функция для работы со строками
Не может определить функции для работы со строками. Выдает такую ошибку:...

Создание собственной библиотеки функций для работы со строками
Здравствуйте, необходимо создать библиотеку, которая включает в себя несколько...

Программа для вычисления алгебраической суммы в строке - как быть с большими строками
Написал программу для вычисления алгебраической суммы в строке, где все...

Программа для имитации работы часов
Доброго времени суток! Программа должна имитировать работу цифровых часов для...

Исправить код работы со строками
#include&lt;stdio.h&gt; int main(int argc, char *argv) { char...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2018, 23:57

Нужен пример работы со строками
Начну сразу с того что задача по лабе идет, мне это не горит, но разобраться я...

Освоение методики работы с символьными строками
Определить минимальную длину слова; выдать на печать все слова начинающиеся с...

Написать свои функции работы со строками аналогичные функциям из <string.h>
надо было написать свои функции работы со строками аналогичные функциям из...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru