С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 19.10.2019
Сообщений: 5

При выводе изменённых строк выводится только одна цифра и больше ничего. Как можно исправить? Буду благодарна

19.10.2019, 19:58. Показов 657. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Код:
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
#include <iostream>
#include <string>
#include <cstring>
#include <cctype>
#include <cstdlib>
#include <fstream>
 
using namespace std;
 
char* deleteLatinLetters1(char* a);
string* deleteLatinLetters2(string s);
const string EMPTY_STRING = "You entered empty string";
 
int main()
{
    ifstream input("input.txt");
    if (!input)
    {
        cerr << "File is not open\n";
        return 1;
    }
    ofstream output("output.txt");
    if (!output)
    {
        cerr << "File is not open\n";
        return 1;
    }
    int count = 0;
    while (!input.eof())
    {
        count++;
        int maxLength;
        input >> maxLength;
        if (!cin)
        {
            cerr << "You entered not number\n";
            return 1;
        }
        char* line_ = new char[maxLength];
        input.getline(line_, maxLength);
        output << "Start line " << count << " : " << line_ << '\n';
        try
        {
            output << "New line " << count << " : " << *deleteLatinLetters1(line_) << '\n';
        }
        catch (const string)
        {
            output << EMPTY_STRING << '\n';
        }
        output << '\n';
        delete[] line_;
        maxLength = 0;
    }
    input.close();
    output.close();
    ifstream in("in.txt");
    if (!in)
    {
        cerr << "File is not open\n";
        return 1;
    }
    ofstream out("out.txt");
    if (!out)
    {
        cerr << "File is not open\n";
        return 1;
    }
    count = 0;
    while (!in.eof())
    {
        count++;
        if (!cin)
        {
            cerr << "You entered not number\n";
            return 1;
        }
        string line = "";
        getline(in, line);
        out << "Start line " << count << " : " << line << '\n';
        try
        {
            out << "New line " << count << " : " << *deleteLatinLetters2(line) << '\n';
        }
        catch (const string)
        {
            out << EMPTY_STRING << '\n';
        }
        out << '\n';
    }
    in.close();
    out.close();
    return 0;
}
 
char* deleteLatinLetters1(char* a)
{
    char* newA = new char[strlen(a)];
    newA[0] = '\0';
    if (!*a)
    {
        throw EMPTY_STRING;
        exit(1);
    }
    int i = 0;
    while (*a)
        {
            if (!isalpha(*a))
            {
                newA[i] = *a;
                i++;
                newA[i] = '\0';
            }
            a++;
        }
    return newA;
}
 
string* deleteLatinLetters2(string str)
{
    if (str.length() == 0)
    {
        throw EMPTY_STRING;
        exit(1);
    }
    string* newStr = new string[str.length()];
    newStr[0] = '\0';
    int j = 0;
    for (int i = 0; i < str.length(); i++)
    {
        if (!isalpha(str[i]))
        {
            newStr[j] = str[i];
            j++;
            newStr[j] = '\0';
        }
    }
    return newStr;
}
В файле in.txt лежит:
dj

7fg39_

В файле input.txt лежит:
7jge973
9jejijsdi
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.10.2019, 19:58
Ответы с готовыми решениями:

Чтение строк из файла: выводится только одна строка
Подскажите где ошибка? Имеется код: Dim inmes() As String = IO.File.ReadAllLines(&quot;C:/текст.spy&quot;, System.Text.Encoding.UTF8) Dim...

Можно ли сделать, чтобы в Double в любом случае была только одна цифра после запятой?
Можно ли сделать так, чтобы в Double в любом случае была только одна цифра после запятой. Т.е. например делим 25 на 20, получаем 1,25 ....

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

4
║XLR8║
 Аватар для outoftime
1212 / 909 / 270
Регистрация: 25.07.2009
Сообщений: 4,360
Записей в блоге: 5
19.10.2019, 21:46
Сания23, код нужно в теги оборачивать + условие задачи писать.
0
0 / 0 / 0
Регистрация: 19.10.2019
Сообщений: 5
19.10.2019, 22:21  [ТС]
Задание: сформировать новую строку, удалив из исходной строки все буквы латинского алфавита. Функция должна возращать сформированную строку.
Нужно написать 2 функции, выполняющие удаление элементов и преобразование в новую строку. Одна функция- для строк в стиле С, вторая- для строк типа string. В функции main нужно сделать проверку этих функций.
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
19.10.2019, 22:41
Сания23, лишние строки в функции ИМХО. посмотрите, может пригодится (часть задачи):
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
#include <iostream>
#include <string>
using namespace std;
 
string DeleteLatinLetters2(string const&str)
{
    string s;
    int i=0;
    while(str[i])
    {
        if (!isalpha(str[i])) s+=str[i];
        i++;
    }
    return s;
}
 
int main()
{
    string str="7fg39_";
    
    cout << DeleteLatinLetters2(str) << "\n";
 
system("pause");
return 0;
}
1
90 / 125 / 28
Регистрация: 17.10.2010
Сообщений: 1,321
20.10.2019, 00:53
Как сделать, чтобы еще русские буквы удалялись?

Добавлено через 37 минут
Вот если кому то надо:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <string>
using namespace std;
 
int main() {
    string s;
    cin >> s;
    for (int i = 0; i < s.length(); i++) {
        if ((s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'а' && s[i] <= 'я') ||
            (s[i] >= 'A' && s[i] <= 'Z' || s[i] <= 'А' && s[i] <= 'Я')) {
            s.erase(i, 1); i--;
        }
    }
    cout << s;
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.10.2019, 00:53
Помогаю со студенческими работами здесь

Ошибка в сортировке при выводе на экран, выводится только первое наименьшее значение
Создал программу, сортирующую массив,но есть ошибка в сортировке при выводе на экран, выводит только первое наименьшее значение. ...

При выводе в текстовое поле строки , состоящей из нескольких слов- выводится только первое слово
При выводе в текстовое поле строки , состоящей из нескольких слов- выводится только первое слово.Ниже привожу саму строку: ...

Подскажите, пожалуйста, как сменить язык на русский. Буду очень благодарна
Установила с quickstart шаблон Joomla, но зайдя в VirtualMart (обновила его до самой последней версии) обнаружилось, что при создании...

не подскажите пожалуйста как написать программу на Delphi! буду очень благодарна
Для задания времени отправления поезда использовать запись с 2 полями(номер поезда, час). Задать информацию о не более 20 поездах....

Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая, что выводится: буква или цифра.
Помогите,плиз... Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru