Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
#1

Распечатать подстроки из каждой строки, заключенные в кавычки - C++

10.05.2010, 16:40. Просмотров 1019. Ответов 10
Метки нет (Все метки)

Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами.
Распечатать подстроки из каждой строки, заключенные в кавычки.
Сообщить количество вхождений таких «цитат» в каждую строку.
помогите пожалуйста решить!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 16:40
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Распечатать подстроки из каждой строки, заключенные в кавычки (C++):

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

Найти в списке из 6 слов все слова, заключенные в кавычки
Найти в списке из 6 слов все цитаты, то есть слова, заключенные в кавычки.

Распечатать все строки данного файла, содержащие заданную строку в качестве подстроки
Распечатать все строки данного файла, содержащие заданную строку в качестве...

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

написать программу, которая считывает текст из файла и выводит на экран только цитаты, то есть предложения, заключенные в кавычки
написать программу, которая считывает текст из файла и выводит на экран только...

Для каждой строки матрицы распечатать индекс первого нулевого элемента
Здравствуйте! Элементы массива размерностью 2 на 6 инициализировать...

10
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,211
Завершенные тесты: 3
10.05.2010, 21:17 #2
Помочь решить != решить за. Свои мысли какие есть?
0
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
10.05.2010, 22:33  [ТС] #3
если бы я знала как решать, то не писАла бы сюда, мысли есть, но реализовать их в код я не могу, слабовата в этом

Добавлено через 1 час 6 минут
помогите пожалуйста срочно надо!!!
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.05.2010, 23:33 #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
#include <stdio.h>
 
int count_quote(char *str, int n)
{
    int i;
    int count;
    
    for (i = 0, count = 0; i < n; i++)
    {
        if (str[i] == '"')
            count++;
    }
    
    if (count % 2 == 0)
        return count / 2;
    
    return -1;
}
 
void print_quote(char *str, int n, int count)
{
    int i, j, k;
    char buffer[100];
    
    for (i = 0, j = 0; i < count; i++)
    {
        k = 0;
        
        while (str[j] != '"')
            j++;
        
        j++;
        
        while (str[j] != '"')
            buffer[k++] = str[j++];
        
        j++;
        buffer[k] = '\0';
        printf("Citata %d: %s\n", i + 1, buffer);
    }
}
 
int main()
{
    char str1[100], str2[100];
    int len1, len2;
    int count1, count2;
    int key1 = 0, key2 = 0;
    
    printf("Vvedite stroku 1:\n");
    gets(str1);
    printf("Vvedite stroku 2:\n");
    gets(str2);
    
    len1 = strlen(str1);
    len2 = strlen(str2);
    count1 = count_quote(str1, len1);
    count2 = count_quote(str2, len2);
    
    if (count1 == -1)
    {
        printf("Nesootvetstvie otkrivauschih i zakrivauschih kavichek v stroke 1\n!");
        key1 = 1;
    }
    
    if (count2 == -1)
    {
        printf("Nesootvetstvie otkrivauschih i zakrivauschih kavichek v stroke 2!\n");
        key2 = 1;
    }
    
    if (!count1)
    {
        printf("Otsutstvuyut citati v stroke 1!\n");
        key1 = 1;
    }
    
    if (!count2)
    {
        printf("Otsutstvuyut citati v stroke 2!\n");
        key2 = 1;
    }
    
    if (!key1)
    {
        printf("Kolichestvo citat v stroke 1: %d\n", count1);
        printf("Citati:\n");
        print_quote(str1, len1, count1);
    }
    
    if (!key2)
    {
        printf("Kolichestvo citat v stroke 2: %d\n", count2);
        printf("Citati:\n");
        print_quote(str2, len2, count2);
    }
    
    getch();
    return 0;
}
0
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
10.05.2010, 23:38  [ТС] #5
пишет
Call to undefined function 'strlen'
Call to undefined function 'getch'
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.05.2010, 23:39 #6
после
#include <stdio.h>
допиши
#include <stdlib.h>
#include <conio.h>
0
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
10.05.2010, 23:41  [ТС] #7
теперь пишет
Call to undefined function 'strlen'
0
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 1
10.05.2010, 23:42 #8
Тогда ещё
#include <string.h>
0
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
03.06.2010, 11:50  [ТС] #9
Даны две строки, содержащие не более 100 символов. Строки состоят из слов, разделенных пробелами. Распечатать все слова из каждой строки, начинающиеся и заканчивающиеся на заданную букву.


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
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
const int SIZE =100;
 
char *pr2 (char *in);
char *pr1 (char *in);
char *copy(char *, char *, int);
void form (char *a, char *b, char, char *out);
 
int main()
{
        char buf[SIZE], buf2[SIZE], outbuf[2*SIZE]={' '}, p;
 
        cout<<"Vvedite 1 stroky: ";
        cin.getline(buf, SIZE);
        cout<<"Vvedite 2 stroky: ",
        cin.getline(buf2, SIZE);
        cout<<"Vvedite bukvu: ";        
        cin>>p;
        form(buf, buf2, p, outbuf);
 
        cout<<"Rezultat: "<<outbuf;
        cout<<endl<<endl;
        getch();
        return 0;
}
void form (char *a, char *b, char p, char *out)
{
        char *first=a, *first2=b;
 
        while (*(first=pr1(a)))
        {
                a=pr2(first);
                if (*first==p&&*(a-1)==p)
                        out=copy(first, out, a-first);
                else first=pr2(first);
        }
        while (*(first2=pr1(b)))
        {
                b=pr2(first2);
                if (*first2==p&&*(b-1)==p)
                        out=copy(first2, out, b-first2);
                else first2=pr2(first2);
        }
}
char *pr1(char *in)
{
        while (*in&&(*in==' ')||(*in=='\t'))
                in++;
        return in;
}
char *pr2 (char *in)
{
        while (*in&&*in!=' '&&*in!='\t')
                in++;
        return in;
}
char *copy(char * from, char *to, int len)
{
        for (int j=0; (j<len)&&(*to++=*from++); j++)
                ;
 
        *to++=' ';
        *to='\0';
 
        return to;
}
можно ли эту программу написать более простым языком и с пояснениями???
0
NNN777
299 / 157 / 62
Регистрация: 27.02.2010
Сообщений: 317
03.06.2010, 12:38 #10
Что-то мне эта программка напоминает
0
winelove
1 / 1 / 2
Регистрация: 10.05.2010
Сообщений: 71
03.06.2010, 12:50  [ТС] #11
ну напишите код чтоб было более понятно
0
03.06.2010, 12:50
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.06.2010, 12:50
Привет! Вот еще темы с решениями:

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

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

Среди цифр введенной строки распечатать ту, которая появлялась чаще других. Если таких цифр было несколько, распечатать ту, что встречалась первой
Среди цифр введенной строки распечатать ту, которая появлялась чаще других....

В каждой из матриц имеется по два одинаковых числа; распечатать их значения
Задание: Даны две матрицы целых чисел S, К, в каждой из которых имеется по два...


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

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

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