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

Работа со строками

11.12.2008, 17:20. Показов 6004. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи, такая вот проблема. Есть задача. Прочитать строки из файла, а потом записать их следующим образом. Первую оставить, вторую -удалить, на месте её - пустая строка. Третью - оставить, на месте следующих двух - две пустые строки. Шестую - оставить, затем три пустые строки.
При этом все, даже пустые, строки должны быть пронумированы.

Сам написал такой вот бред, но думаю можно проще и правильнее.
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
main()
{
fstream file;
file.open("D:\1.txt",ios::in);
char a[256];
char*s=new char[];
int i=0;
while(!file.eof())
{ 
    file.getline(a,256,"\n");
    for(int j=0; j<(int)(strlen(a));j++)
    {s[i]=a[j];
    i++;}
    s[i]=";";
    i++;
}
file.close();
 
int z=0;
int d=1;
int f=1;
file.open("D:\1.txt",ios::out);
for(int b=0; b<(int)(strlen(s));b++)
{
    file<<s[b];
    if(s[b]==;)
    {
        for(int c=0; c<d; c++)
        {file<<"\n";}
        for(int e=0; e<f; e++)
        {
        while(s[b+1]!=;)
        {z=b+1;}}
    b=z;d++;f++;}
}
file.close();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.12.2008, 17:20
Ответы с готовыми решениями:

Работа со строками. Функции работы со строками
Дана строка символов. В заданном тексте определить позицию первой точки ‘ . ‘.

Работа со строками, заполнить компоненты строками из файла
Привет! Нужна помощь в заполнении формы В общем, есть форма отправки письма. У нее есть 2 функции, сохранить письмо и открыть письмо (на...

Работа со строками(операции над строками)
Пусть дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами...

37
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
13.12.2008, 13:49  [ТС]
Студворк — интернет-сервис помощи студентам
accept, дык когда был /n, то в получившемся файле после каждой неудаленной строки оставалось по три непечатных пустых прямоугольника. Убрал - и их не стало.

FOLKEN, вот в файлкопи, которая описана, у тебя в коде, всего один аргумент. Да и судя по её описанию она копирует из файла в этот же файл.
А надо, насколько я вижу по твоему коду, скопировать из tfile в ffile. Для этого же надо 2 аргумента в описании, разве не так? Да и само описание по моему должно быть несколько другое.
Фактически прога работает в точности так, как надо, только нужно чтобы писалось в тот же файл, а не создавалось еще одного.
0
 Аватар для FOLKEN
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
13.12.2008, 19:20
функция - метод класса. смотри описание
C++
1
2
3
4
5
6
void Cl::filecopy(Cl z)
{
    int c;
     while ((c = getc(z.ifp )) != EOF)
        putc(c, ifp);
}
то есть она копирует файл, переданный в аргументе, в объект, для которого она была вызвана. У нее первый аргумент и есть этот самый объект. Вощем если надо скопировать из tfile в ffile, то
C++
1
ffile.filecopy(tfile);
1
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
13.12.2008, 23:49
этот участок можно заменить если компилятор не тянет ?:
C++
1
    fprintf(tfp, "%03d:%s", nl, (state == OUT ? line : "\n"));
на любой из этих
C++
1
2
3
4
    if (state == OUT)
        fprintf(tfp, "%03d:%s", nl, line);
    else
        fprintf(tfp, "%03d:\n", nl);
C++
1
2
3
4
5
    fprintf(tfp, "%03d:", nl);
    if (state == OUT)
        fprintf(tfp, "%s", line);
    else
        fprintf(tfp, "\n");
у меня когда я компилировал на борланде 90 года, вместо строк вообще всех выводился nil (ну типа 001:nil и тд), потому что борланд не понимает ?: внутри fprintf'a, хотя это соответствует стандарту 89 года

в lcc который я показывал тут, скомпилировалось всё нормально и в файл она нормально всё записала

из файла

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
001:a
002:
003:c
004:
005:
006:f
007:
008:
009:
010:j
011:
012:
013:
014:
015:o
016:
017:
018:
019:
020:
021:u
Добавлено через 1 час 48 минут 44 секунды
выяснил что происходит, короче bc3.1 поддерживает оператор ?:, но

C++
1
    fprintf(tfp, "%03d:%s", nl, (state == OUT ? line : "\n"));
содержит 2 аргумента после строки формата, если оставить один то всё работает (то есть нумерацию строк убрать, она будет распечатывать на выбор), то есть bc3.1 оператор знает но не тянет его так как надо

потому сработает вариант

C++
1
2
    fprintf(tfp, "%03d:", nl);
    fprintf(tfp, "%s", state == OUT ? line : "\n");
под виндой всё ок
1
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
14.12.2008, 04:44  [ТС]
FOLKEN, в общем вставил я в мейн оную функцию.
Получилось так
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
main()
{ Cl ffile, tfile;
    char line[MAXLINE], *p;
    long i, j, nl;
    const char *fname = "file.txt"; 
    const char *tname = "temp.txt"; 
  
    if ((ffile.SetCl(fopen("1.txt", "rb"))) == NULL)
        return 1;
 
    if ((tfile.SetCl(fopen("2.txt", "wb"))) == NULL)
        return 2;
    i = j = nl = 0;
    while ((p = fgets(line, MAXLINE, ffile.GetCl())) != NULL) 
    {
        nl++;
        if (i == 0) {
            j++;
            i = j;
            fprintf(tfile.GetCl(), "%03d: %s", nl, line);
        } else {
            i--;
            fprintf(tfile.GetCl(),"%03d: \r\n",nl);
        }    
    }
    [U]ffile.filecopy(tfile);[/U]
    fclose(ffile.GetCl());
    fclose(tfile.GetCl());
    return 0;
}
Но в исходном файле все осталось без изменений, лишь во второй файл(куда выводится результат) после строк пишется три строки одинаковых символов.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.12.2008, 17:12
можно переделать

tmpfile() - стандартная функция возвращает указатель на темповый поток, в который можно писать как в файл, если закрыть поток все данные из него удаляются, я искал файл этот не нашёл ни в папке программы ни в темповой директории системы, т.е. с правами всё ровно

иначе темповый файл придётся ещё удалять, а судя по вашей системе это придётся вставлять метод иначе операция удаления не будет вписываться в общий фон (работа с файлами должна осуществляться в одном классе)

если будешь делать там надо добавить метод открытия не файла функцией fopen а темпового файла функцией tmpfile()
таким образом можно будет открыть как обычный файл из одного класса, так и темповый файл из него же и работать с уже открытым потоком одинаково в обоих случаях

Добавлено через 6 часов 2 минуты 4 секунды
#define - это макроопределение, можно определять символические константы, а можно определять макросы

#define IN 1
заменит в исходнике ещё перед компиляцией его в объектник все слова IN на еденицы

#define sum(a, b) (a) + (b)
заменит в исходнике все вызовы макроса sum(2, 5) на 2+5, вычислит и оставит 7
0
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
14.12.2008, 18:03  [ТС]
Я тут решил пойти нерациональным, но простым и понятным мне способом. Грубо говоря, у меня после проги, остается два файла. Первый - исходник. Второй - с результатом. Я просто еще раз открою файл с резалтом, и скопирую его содержимое построчно сначала в чаровскую переменную, потом открою исходник, и удалив его содержимое, скопирую туда содержание чаровской переменной.
Внимание вопрос - как после этого удалить файл, в котором лежали результаты?
0
 Аватар для FOLKEN
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
14.12.2008, 18:35
удалить файл можно функциями remove, DeleteFile. Заметьте, этим функциям надо передавать в качестве параметра сооответственно const char* (для _wremove - const wchar_t *) и LPCTSTR соответственно. Уж этот вопрос можно было загуглить, блин.
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
15.12.2008, 01:25
C++
1
2
    if (remove(fname) || rename(tname, fname))
        return 3;
но она не вписывается в общую программу и препод к этому придерётся, т.к. идёт особняком от всего кода
(удаляет исходный файл когда темповый сохранён на диске, потом темповый переименовывает в исходный)
если на папке запрещена запись прога остановится ещё на создании темпового файла на диске (короче прога будет работать не в каждой папке)
набери cacls /? там будет хелп как поменять права на rw, создай папку, туда скопируй прогу, потом права у папки оставь только r и увидишь результат
0
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
15.12.2008, 16:23  [ТС]
Вопросик по синтаксису удаления.
Допустим мне надо удалить файл "2.txt", лежащий в паке проекта.
Как это будет выглядеть?
C++
1
2
fstream file;
file.open("2.txt", ios::(вот здесь что писать?));
И надо ли вообще открывать и закрывать файл, чтоб его удалить? Посмотрел по двум имеющимся самоучителям, не нашел(

И еще. Хотел скопировать из 2.тхт в 1.тхт, затем 2.тхт удалить.
Приписал к имеющимуся коду следующее:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    fstream file;
    char*tmp=new char[];
    char a[256];
    int q=0;
    file.open("2.txt",ios::in);
    while(!file.eof())
    {file.getline(a,256,"\n");
    for(int k=0;k<(int)(strlen(a));k++)
    {tmp[q]=a[k];
    q++;}
    tmp[q]=";"; q++;}
    file.close();
 
    file.open("1.txt",ios::out);
    for(int k=0; k<i; k++)
    {if(tmp[k]==';') {file<<"\n";}
    if(tmp[k]!=';') {file<<tmp[k];}
    }
    file.close();
выводит следующие ошибки
Кликните здесь для просмотра всего текста
D:\Program Files\Microsoft Visual Studio\MyProjects\123\123.cpp(76) : error C2664: 'class istream &__thiscall istream::getline(char *,int,char)' : cannot convert parameter 3 from 'char [2]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
D:\Program Files\Microsoft Visual Studio\MyProjects\123\123.cpp(77) : error C2065: 'strlen' : undeclared identifier
D:\Program Files\Microsoft Visual Studio\MyProjects\123\123.cpp(80) : error C2440: '=' : cannot convert from 'char [2]' to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast
0
 Аватар для FOLKEN
22 / 21 / 6
Регистрация: 03.12.2008
Сообщений: 85
15.12.2008, 18:01
открой msdn, там все написано
вот тут тут даже пример есть.

accept, прав, у тебя знатный винегрет получается. Юзай его темпы и не мучайсо
0
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
16.12.2008, 04:08  [ТС]
Дело в том, что при использовании любого из кодов, предложенных acceptoм, вместо пустых строк в блокноте выводятся просто пустые прямоугольники.
Если не сложно, можете доработать оный код так, чтобы он также копировал инфу из файла 2.тхт, в 1.тхт, а затем 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
#include <stdio.h>
 
 
#define MAXLINE  1000    
#define IN  1            
#define OUT 0 
           
class Cl{
private: 
    FILE*ifp;
public: 
    FILE* GetCl();
    int SetCl (FILE* fts);
    void filecopy(Cl z);
    
};
 
void Cl::filecopy(Cl z)
{
    int c;
     while ((c = getc(z.ifp )) != EOF)
        putc(c, ifp);
}
 
FILE* Cl::GetCl()
{
    return ifp;
}
 
int Cl::SetCl (FILE * fts)
{
    if(fts==NULL)
        return 0;
    else
    {
        ifp=fts;
        return 1;
    }
}
 
main()
{ Cl ffile, tfile;
    char line[MAXLINE], *p;
    long i, j, nl;
    const char *fname = "file.txt"; 
    const char *tname = "temp.txt"; 
  
    if ((ffile.SetCl(fopen("1.txt", "rb"))) == NULL)
        return 1;
 
    if ((tfile.SetCl(fopen("2.txt", "wb"))) == NULL)
        return 2;
    i = j = nl = 0;
    while ((p = fgets(line, MAXLINE, ffile.GetCl())) != NULL) 
    {
        nl++;
        if (i == 0) {
            j++;
            i = j;
            fprintf(tfile.GetCl(), "%03d: %s", nl, line);
        } else {
            i--;
            fprintf(tfile.GetCl(),"%03d: \r\n",nl);
        }    
    }
 
    fclose(ffile.GetCl());
    fclose(tfile.GetCl());
 
    return 0;
}
мог бы помучится еще сам, да только время поджимает, завтра сдавать(
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.12.2008, 06:40
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
#include <stdio.h>
 
#define MAXLINE  1000    /* максимальная длина строки */
#define IN  1            /* внутри пропусков */
#define OUT 0            /* снаружи пропусков */
 
/* читает строки из файла, а потом записывает их определённым образом 
   первую оставить, вторую - удалить, на месте её - пустая строка и т.д.;
   с перезаписью файла */
main()
{
    void filecopy(FILE *, FILE *); // функции будет использоваться в этой области
    FILE *fp, *tfp;
    char line[MAXLINE], *p;
    int state;
    long i, j, nl;
    const char *fname = "file.txt";
        
    if ((fp = fopen(fname, "rb")) == NULL)
        return 1;
    if ((tfp = tmpfile()) == NULL)
        return 2;
    i = j = nl = 0;
    while ((p = fgets(line, MAXLINE, fp)) != NULL) { // NULL будет когда файл закончится
        nl++; // считает каждую строку
        if (i == 0) { // пока i > 0 вставлять пустые строки
            j++; // сколько пустых строк вставлять на этот раз (должно расти по условию)
            i = j; // ставится верхняя граница, которая снижается до нуля
            state = OUT; // флаг - выводить строку
        } else {
            i--; // сколько ещё пустых строк осталось вывести
            state = IN; // флаг - скрыть строку
        }
        // флаг управляет выводом:
        // что вывести строку с номером или пустую строку с номером    
        fprintf(tfp, "%03d:", nl)
        fprintf(tfp, "%s", (state == OUT ? line : "\r\n"));
    }
    fclose(fp);
    rewind(tfp); // переводит указатель темпового файла в начало, т.к. туда писались строки
    if ((fp = fopen(fname, "wb")) == NULL) // файл может иметь только право на чтение, проверим
        return 3;
    filecopy(tfp, fp);
    fclose(tfp); // стирает темповый файл
    fclose(fp);
    return 0;
}
 
/* filecopy:  копирование файла ifp в файл ofp */
void filecopy(FILE *ifp, FILE *ofp)
{
    int c;
    
    while ((c = getc(ifp)) != EOF)
        putc(c, ofp);
}
здесь поправил ошибки переносимости и для старых компиляторов и для программ которые не отображают только 0x0A

я смотрел во всех блокнотах которые у меня есть в виндовс и пропустил обычный стандартный
даже в консоли делал type file.txt и всё выводит там без квадратов

насчёт подходящего кода, тебе всё равно придётся делать rewind и remove потом

я чо-то пригляделся что тут
C++
1
2
3
4
    Cl ffile, tfile;
 
    if ((tfile.SetCl(tmpfile())) == NULL)
        return 2;
потом с ним

C++
1
    tfile.rewind();
метод надо создать

потом
C++
1
    ffile.filecopy(tfile);
тоже нужно чтобы работало

остальное вроде если работает то ничо не менять
в итоге у тебя есть файл, создаётся темповый файл где-то там неважно, потом к нему применяются методы которые годятся для любого файла (их надо описать чтобы они работали) и так может тебе поставят зачёт
0
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
16.12.2008, 09:34  [ТС]
Accept, вот теперь квадратов нет, как "\r" поставил, перестали выводится.
Мне тут сказали, что преподу можно только екзешник с тектовым файлом принести и все. Так что может и без классов проканает. А из экзешника вообще как то можно сам код достать?
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
16.12.2008, 12:27
он может определить на чём написан был код на C или C++ туда добавляется стандартная библиотека у меня для Hello, world! различаются экзешники, но если он так задал, значит ему пофигу, значит ставит просто так, гасить будет летом
0
0 / 0 / 0
Регистрация: 12.12.2008
Сообщений: 26
19.12.2008, 10:43  [ТС]
Еще один маленькие вопросы нарисовались.
Code
1
"%03d:%s",
Зачем нужна данная запись в фпринте?
Code
1
if ((fp = fopen(fname, [U]"rb"[/U]))
А также что означают вот эти "rb" и "wb" в аргументах фоупена? То, зачем открываем файл - для записи или чтения?

И в данной записи, зачем файловые переменные проверяются на то, не равны ли они NULL? И зачем после этого возвращаются 1 и 2?
Code
1
2
3
4
 if ((fp = fopen(fname, "rb")) == NULL)
        return 1;
    if ((tfp = tmpfile()) == NULL)
        return 2;
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
19.12.2008, 12:09
%03d

%3d
вставить десятичное число в поле минимум из трёх символов

%03d
вставить десятичное число в поле минимум из трёх символов, а если оно короче то поставить не пробелы а нули

fopen(fname, "rb")
первое имя файла
второе режим открытия
r - read
w - write
a - append (это write только с присоединением к файлу, а не затиранием)
b - binary (двоичный режим, работает не с набором строк, рассматривая символы конца строки, а с набором байтов, рассматривая символы (или символ) конца строки как просто символ в потоке остальных символов; для виндовс необходимо ставить иначе могут быть глюки какие-то)

функция fopen возвращает NULL в случае ошибки, если она не сможет найти файл, она не сможет его открыть, работать дальше не с чем, программа выходит а код завершения сообщает в систему: так принято что система ноль считает успешным завершением программы, потому все программы возвращают ноль в качестве успешного выполнения и не ноль в качестве неуспешного)
echo %errorlevel%
после любой программы набери и выведется код завершения последней программы
т.к. успешное завершение успешно всегда одинаково а ошибки бывают разные то успех только ноль, а ошибки нумеруются по мере поступления, в идеале на каждую ошибку свой код
ещё делают сообщения для пользователя, коды завершения нужны главным образом процессам (например когда включаешь прогу в скрипт (в виндовс пакетные файлы .bat), то прямо в скрипте можно узнать отработала ли прога или завершилась с ошибками, таким образом можно создавать сложные скрипты, опирающиеся на кучу разных программ, если они все правильно возвращают коды выполнения, то скрипт будет работать однозначно и хорошо информировать пользователя об этапах своей работы)
1
0 / 1 / 0
Регистрация: 04.12.2008
Сообщений: 63
21.12.2008, 12:05
Может ктота подскажет как сделать так чтоб можна было сохранять даные в файл, имя файла задаёт пользователь, а потом чтоб можна было с етого файла прочитать ети даные. ТОесть пользователь вводит под каким именем сохр, и с какого файла прочитать даные, вот так вот!
0
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.12.2008, 00:35
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
#include <stdio.h>
#include <string.h>
 
#define MAXLINE  1000   /* максимальная длина строки */
#define MAXNAME  255    /* максимальное имя файла */
 
/* сохраняет даные в файл, имя файла задаёт пользователь,
   выводит сохранённые данные */
main()
{
    void filecopy(FILE *, FILE *);
    FILE *fp;
    char line[MAXLINE], fname[MAXNAME], *p;
    
    printf("Enter file name: ");
    if ((p = fgets(fname, MAXNAME, stdin)) == NULL)
        return 1;
    sscanf(fname, "%s", fname);    
    if (fopen(fname, "r") != NULL) {
        fprintf(stderr, "error: file is exist\n");
        return 2;
    }
    if ((fp = fopen(fname, "w+")) == NULL) {
        fprintf(stderr, "error: can't create %s\n", fname);
        return 3;
    }    
    printf("Enter data:\n");
    while ((p = fgets(line, MAXLINE, stdin)) != NULL)
        fputs(line, fp);
    rewind(fp);
    putchar('\n');
    printf("Saved:\n");
    filecopy(fp, stdout);
    fclose(fp);
    return 0;
}
 
/* filecopy:  копирование файла ifp в файл ofp */
void filecopy(FILE *ifp, FILE *ofp)
{
    int c;
    
    while ((c = getc(ifp)) != EOF)
        putc(c, ofp);
}
data.txt
Code
1
2
3
4
5
file.txt
one two three
four
five
six seven
Code
1
2
3
4
5
cat data.txt | ./prog
 
под виндой
 
type data.txt | prog.exe
там нет ctrl+D чтобы обозначить конец потока, потому в winXP прога будет ждать ввода, по ctrl+С просто не выведет сохранённый файл на экран

Добавлено через 2 минуты 6 секунд
Code
1
2
3
4
5
6
7
8
9
10
11
12
[guest@localhost tmp]$ ./test
Enter file name: file.txt
Enter data:
one
two
three
 
Saved:
one
two
three
[guest@localhost tmp]$
это пол линем но там можно ввод закончить через ctrl+D
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2008, 00:35
Помогаю со студенческими работами здесь

Задание по темам: ООП, исключения, работа со строками (возможно применение коллекций List), работа с компоновщиком
ТЯЖЕЛО РАБОТАТЬ С КОМПОНОВЩИКОМ. БУДУ РАД ВАШИМ ОТВЕТАМ. 1. Ознакомиться с принципом работы структурного шаблона проектирования...

Работа со строками
У меня есть есть структурные переменные и указатели на них, естественно. предположим struct name() { char...

Работа со строками
Есть код 0000000000400996 &lt;main&gt;: 400996: 55 push %rbp 400997: 48 89 e5 mov %rsp,%rbp ...

Работа со строками
Не видит файл. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using...

Работа со строками
С клавиатуры вводится текст. Подсчитать и вывести на печать количество слов начинающихся с гласной, согласной


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

Или воспользуйтесь поиском по форуму:
38
Ответ Создать тему
Новые блоги и статьи
FSharp: interface of module
DevAlt 16.05.2026
Интерфейс модуля F# позволяет управлять доступностью членов, содержащихся в реализации модуля. По-умолчанию все члены модуля доступны: module Foo let x = 10 let boo () = printfn "boo" . . .
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru