Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/14: Рейтинг темы: голосов - 14, средняя оценка - 4.86
 Аватар для lera8
636 / 219 / 64
Регистрация: 03.11.2009
Сообщений: 488

Вставить после каждого знака пунктуации в символьном массиве знак табуляции

08.11.2009, 22:49. Показов 2993. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста решить задачи на языке Си
1. Вставить после каждого знака пунктуации в символьном массиве знак табуляции.
2. Дан целочисленный массив, определить серии максимальной и минимальной длины и поменять их местами, если их несколько, то первые из них.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.11.2009, 22:49
Ответы с готовыми решениями:

Вместо каждого знака ? Вставить знак одной из 4 арифметических операций
Задание: В написанном выражении ((((1?2)?3)?4)?5)?6 вместо каждого знака ? вставить знак одной из 4 арифметических операций +,-,*,/ так,...

Дан массив строк. Написать функцию, которая после каждого знака пунктуации будет ставить пробел
Например, если после точки в строке нет пробела, то как его вставить туда?

В текстовой строке после каждого арифметического знака вставить число 125
в текстовой строке после каждого арифметического знака вставить число 125

11
 Аватар для insolent
829 / 353 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
09.11.2009, 02:13
Цитата Сообщение от lera8 Посмотреть сообщение
Вставить после каждого знака пунктуации в символьном массиве знак табуляции.
Возможно как-то
так
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
/*
    Вставить после каждого знака пунктуации в символьном массиве знак табуляции.
*/
 
//#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
////////////////////////////////////////////////////////////////////
int main(int argc, char* argv[])
{
        char *ch = new char[80];
    string punct = ",-.:;";
        size_t found;
        cout << "Enter a string :>";
    cin.getline(ch,80);
    string str(ch,strlen(ch));
    found = str.find_first_of(punct);
    while (found != string::npos)
    {
        str.insert(found+1,"\t");
        found = str.find_first_of(punct,found+1);
    }
        strcpy(ch,str.c_str());
    cout << ch << endl;
    getchar();
    return 0;
}
1
 Аватар для lera8
636 / 219 / 64
Регистрация: 03.11.2009
Сообщений: 488
09.11.2009, 16:42  [ТС]
спасибо
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
09.11.2009, 16:53
Цитата Сообщение от lera8 Посмотреть сообщение
определить серии максимальной и минимальной длины
не подскажете что это поподробнее, если можно то приведите пример
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
09.11.2009, 16:54
на языке Си
insolent, ваш код уж больно далек от Си.
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
09.11.2009, 16:55
valeriikozlov, это скорее всего подполседовательность одинаковых чисел максимальной длины
0
 Аватар для lera8
636 / 219 / 64
Регистрация: 03.11.2009
Сообщений: 488
09.11.2009, 16:57  [ТС]
Серия-это последовательность одинаковых элементов массива. Например, дан массив:1 1 3 2 2 2, где 2 2 2-это серия максимальной длины, а 3 - серия минимальной длины.
0
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
09.11.2009, 18:06
Андрейка, я просто далек на самом деле от студенческих понятий (особенно от тех, которые не несут в себе "логического" понятия)
0
0 / 0 / 0
Регистрация: 10.11.2009
Сообщений: 3
10.11.2009, 01:48
Доброй ночи всем
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
10.11.2009, 04:03
Цитата Сообщение от lera8 Посмотреть сообщение
Вставить после каждого знака пунктуации в символьном массиве знак табуляции.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <ctype.h>
 
int main(){
    char array[] = "aaa,bbb.ccc;ddd";
    char *p;
    
    for ( p = array; *p; p++ ){
        putchar(*p);
        if ( ispunct(*p) )
            putchar('\t');
    }
    putchar('\n');
    return 0;
}
2
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
10.11.2009, 06:40
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
#include <stdlib.h>
#include <time.h>
#define  SIZE_ARRAY 10
int main ()
{
        int A[SIZE_ARRAY], i, min_i, min_kol, max_i, max_kol=1, temp_i, temp_kol, temp;
        bool fl;
        srand (time(0));
        printf("Ishodn massiv:\n");
        for(i=0; i<SIZE_ARRAY; i++)
        { A[i]=rand()%5;
          printf(" %i",A[i]);
        }
        printf("\n");
        // ïîèñê ìàêñ
        for(i=0; i<SIZE_ARRAY-1; i++)
        {
            temp_kol=1;
            fl=false;
            while(A[i]==A[i+1])
            {
                temp_kol++;
                if(!fl)
                {
                    fl=true;
                    temp_i=i;
                }
                i++;
            }
            if(max_kol<temp_kol)
            {
                max_kol=temp_kol;
                max_i=temp_i;
            }
        }
        min_i=max_i;
        min_kol=max_kol;
        for(i=0; i<SIZE_ARRAY-1; i++)
        {
            temp_kol=1;
            fl=false;
            if(A[i]!=A[i+1])
            {
                min_kol=1;
                min_i=i;
                i=SIZE_ARRAY;
            }
            while(A[i]==A[i+1])
            {
                temp_kol++;
                if(!fl)
                {
                    fl=true;
                    temp_i=i;
                }
                i++;
            }
            if(min_kol>temp_kol)
            {
                min_kol=temp_kol;
                min_i=temp_i;
            }
        }
// ïåðåìåíà ìåñòàìè
    if(min_i<max_i)
        for(i=0; i<max_kol; i++)
        {
            if(i<min_kol)
            {
            temp=A[min_i+i];
            A[min_i+i]=A[max_i+i];
            A[max_i+i]=temp;
            }
            else
            {
                temp=A[max_i+i];
                for(int j=max_i+i; j>min_i+i; j--)
                    A[j]=A[j-1];
                A[min_i+i]=temp;
            }
        }
    else
        for(i=0; i<max_kol; i++)
        {
            if(i<min_kol)
            {
            temp=A[min_i+i];
            A[min_i+i]=A[max_i+i];
            A[max_i+i]=temp;
            }
            else
            {
                temp=A[max_i+i];
                for(int j=max_i+i; j<min_i+min_kol-i; j++)
                    A[j]=A[j+1];
                A[min_i+min_kol-i]=temp;
            }
        }
        printf("Poluch massiv:\n");
        for(i=0; i<SIZE_ARRAY; i++)
           printf(" %i",A[i]);
        printf("\n");
 getchar();
 return 0;
}
2
 Аватар для lera8
636 / 219 / 64
Регистрация: 03.11.2009
Сообщений: 488
10.11.2009, 22:36  [ТС]
БОльшое всем спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.11.2009, 22:36
Помогаю со студенческими работами здесь

Ввести строку символов и вставить пробел после каждого знака препинания
А как это будет написано на с#? &quot;Ввести строку символов и вставить пробел после каждого знака препинания.&quot;

В заданном тексте после каждого знака препинания («.», «,», «:», «;») вставить пробел, если его там нет.
В заданном тексте после каждого знака препинания («.», «,», «:», «;») вставить пробел, если его там нет.

После каждого знака препинания в предложение вставить заданное слово, заключив его в круглые скобки
Ребят, делаю программу... кажется ерунда, но у меня почему-то поначалу вставляются слова, а после уже нет... Сама задача: Даны...

Вставить два знака табуляции перед каждой строкой в текстовом файле
Требуется создать программу,которая вставляет перед каждой Текстовой строчкой вставляет два знака табуляции. Спасибо

Текстовые файлы: вставить после каждого символа строки 3 знака "*"
Дан файл содержащий строку S. Вставить после каждого символа в этой строке 3 знака &lt;*&gt; Результат поместить в этот же файл.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru