Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
#1

Функции строк - C++

01.01.2014, 12:12. Просмотров 341. Ответов 6
Метки нет (Все метки)

Строка, является фрагментом программы на языке С/С++. Выведите на
экран все содержащиеся в ней комментарии. Учесть случаи как многострочных,
так и однострочных комментариев.


Ребят,помогите пожалуйста:


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<string>
using namespace std;
int main()
{
    char str[100];
    char*ch;
    cout<<"fragment koda please"<<endl;
   cin>>str;
ch=strchr(ch, '//');
while(strlen(str)!='\0')
{
if (ch=strchr(ch+1, '//')){
cout<<ch-str+1<<endl;
}
}
system("pause");
return 0;
}
какой-то бред написал,помогите исправить
Заранее спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.01.2014, 12:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функции строк (C++):

Создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка С, но не применять их в своей функции - C++
Доброго времени суток! Крайне необходима помощь экспертов в С++! Кто может - не оставьте меня в беде))) Вот задания: 3. Создать...

Функции по обработке строк! - C++
Записать числа от 1 до 100 словами.

Функции. Генерация строк - C++
Здравствуйте, форумчане. Помогите реализовать программу. Напишите программу на С++, которая использует три определяемых пользователем ...

Сравнение строк с использованием функции - C++
Помогите, что у меня неправильно? Как сделать так, чтобы если строки одинаковые, выводилось &quot;yes&quot;, а если разные - &quot;no&quot; с использованием...

Написание функции сложения строк - C++
Необходимо написать функцию сложения двух строк по следующему принципу: &quot;abc&quot; + &quot;qwerty&quot; -&gt; &quot;aqbwcerty&quot; У меня получилось, но не до...

Передача и возврат строк в/из функции - C++
#include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; using namespace std; void...

6
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
01.01.2014, 12:20 #2
Не очень понятно, что нужно
Объясните проще.
0
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
01.01.2014, 12:24  [ТС] #3
Уважаемый,дан любой код программы(как я понял,код заданный программой,совершенно любой код) - надо с помощью функции strchr(100% с этой функцией) вырезать все комментарии и вывести их на экран.
0
Esecman
38 / 26 / 6
Регистрация: 31.12.2013
Сообщений: 329
01.01.2014, 12:33 #4
Цитата Сообщение от trans967 Посмотреть сообщение
Уважаемый,дан любой код программы(как я понял,код заданный программой,совершенно любой код) - надо с помощью функции strchr(100% с этой функцией) вырезать все комментарии и вывести их на экран.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] = "This is a sample string";
  char * pch;
  printf ("Looking for the 's' character in \"%s\"...\n",str);
  pch=strchr(str,'s');
  while (pch!=NULL)
  {
    printf ("found at %d\n",pch-str+1);
    pch=strchr(pch+1,'s');
  }
  return 0;
}
Воспользуйся этим примером.
0
Tulosba
:)
Эксперт С++
4397 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
01.01.2014, 12:39 #5
strchr тут не очень подходит, т.к. ищет символ, а не подстроку. Скорее нужно strstr, если уж условие использовать сишные функции, а не std::string.
0
zss
Модератор
Эксперт С++
6578 / 6140 / 2021
Регистрация: 18.12.2011
Сообщений: 15,994
Завершенные тесты: 1
01.01.2014, 12:41 #6
Вот код, который ищет все комментарии, заключенные между /* и */
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
#include<iostream>
#include<string>
using namespace std;
int main()
{
    char str[100];
    cout<<"fragment koda please"<<endl;
    cin.getline(str,99);
    char* cbegin=strstr(str, "/*");
    if(cbegin!=NULL)
    {
        char* cend=strstr(cbegin+2, "*/");
        while(cbegin!=NULL)
        {
            if (cend==NULL)
            {
                for(char* pc=cbegin+2;pc!=str+strlen(str);pc++)
                    cout<<*pc;
                cout<<endl;
                break;
            }
            for(char* pc=cbegin+2;pc!=cend;pc++)
                cout<<*pc;
            cout<<endl;
            cbegin=strstr(cend+2, "/*");
            cend=strstr(cend+2, "*/");
        }
    }
    system("pause");
    return 0;
}
1
trans967
6 / 2 / 1
Регистрация: 23.04.2013
Сообщений: 186
01.01.2014, 13:17  [ТС] #7
спасибо большое,товарищи.
Ещё раз всех с праздником
0
01.01.2014, 13:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.01.2014, 13:17
Привет! Вот еще темы с ответами:

Соединение строк в параметре функции - C++
Здравствуйте! Не подскажете, возможно ли такое реализовать: void Fun(char* c) { cout &lt;&lt; c; } ..... Fun(&quot;Hello&quot; + 32 + &quot;...

Сравнение строк в перегруженной функции - C++
Здравствуйте! есть перегруження функция Block* BlocksList::Find(string text) const { BlockNode * pNode = 0; int...

Сортировка строк через функции - C++
Создать массив строк на 10 ячеек, заполнить его при инициализации и отсортировать строки по алфавиту (с помощью указателей). Вот код: ...

Аргумент функции - массив строк - C++
есть массив строк string *conns = new string; нужно сделать функцию, которая его бы изменяла void func( ??? ) {}


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

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

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