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

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

Войти
Регистрация
Восстановить пароль
 
корвиниус
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 6
#1

обработка строки в с++ - C++

21.01.2010, 18:23. Просмотров 503. Ответов 3
Метки нет (Все метки)

дана строка(вводимая пользователем с клавиатуры).
найти и вывести те слова из строки которые начинаются и заканчиваются на одну и ту же букву.
Например пользователь вводит:"дождь казак дом бобр двд"
ответ должен выглядеть так:"казак двд"

Добавлено через 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
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
 
#define MAX_LENGTH  100
 
int main(void)
{ clrscr();
  printf("\t\t\t lab #3\n\t\t made by \n\t\t Group \n");
  int  n,i,j,t,num,temp;
  char*al;
  char*af;
  float avrlen;
  char str[MAX_LENGTH];
  char *word,*words[MAX_LENGTH/2]={0};
  // Read string
  printf("Enter string: ");
  fgets(str,MAX_LENGTH,stdin);
  strncpy(str,str,atoi(strtok(str,"/")));
  // Kill newline char at end of string
  for(i=strlen(str)-1;i>=0;i--)
    {
       if(str[i]=='\n' || str[i]=='\r') str[i]=0;
     else break;
    }
  // Parse string
  n=0;
  word=strtok(str," ");
  while(word)
    {
       words[n]=word;
       printf("Word = %s\n",word);
       word=strtok(0," ");
       n++;
    }
 
 
  for (i=1; i<=n; i++)
  {
    strncpy(af, word[i], 1);
    strncpy(al, word[i], strlen(word[i]));
    if(af==al)
    printf("slovo%s",word[i]);
  }
  getche();  
  //return 0;
}
Добавлено через 2 минуты
исправьте ошибки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2010, 18:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос обработка строки в с++ (C++):

Обработка строки - C++
Здравствуйте. У меня есть строка: нолщаувсдлч ощзхзждцвыбьчля start Как удалить все до слова start?

Обработка строки - C++
здравствуйте. такая задача: написать функцию, входным параметром которой является указатель на строку. функция должна вернуть количество...

Обработка строки - C++
Доброе время суток. Имеется такая задача : Дана строка, содержащая слова, разделенные одним или несколькими разделительными символами...

обработка строки - C++
Обработка строки при помощи указателей Задание : для ввода всех строк использовать один и тот же символьный массив tmp . ...

Строки обработка - C++
Задание. ВВести строку, отставить в строке только симметричные фрагменты длинной мин 5 символов. Например asdsa. Остальные заменить на...

Обработка строки - C++
Помогите решить задачи 1. Дана строка текста, в которой слова разделены пробелами и двоеточиями. Необходимо: - определить количество...

3
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
21.01.2010, 18:42 #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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <windows.h>
    
/*
    дана строка(вводимая пользователем с клавиатуры).
    найти и вывести те слова из строки которые начинаются и заканчиваются на одну и ту же букву.    
*/
    
#define STRLEN 128
#define SPCHARS " ,.\t\n"
int main(void){
    char str[STRLEN], *p;
    
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    printf("Строка: ");
    if ( !fgets(str, sizeof(str), stdin) )
        exit(1);
    for ( p = strtok(str, SPCHARS); p != NULL; p = strtok(NULL, SPCHARS) )
        if ( *p == *(p + strlen(p) - 1) )
            printf("%s ", p);
    printf("\n");
    exit(0);
}
1
корвиниус
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 6
21.01.2010, 20:19  [ТС] #3
прога не работает! но я нашёл ещё одну твою работу от 13.01 немного изменил и ЗАРАБОТАЛО

Добавлено через 1 минуту
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SEPCHAR " \t\n"
#define STRLEN 128
int main(void){
printf("\t\t\labaratory work #3\n\t\t\made by\n\t\t\t\\n\n");
char buf[STRLEN], *p;
while ( 1 ){
printf("please feed in your string: ");
if ( !fgets(buf, sizeof(buf), stdin) )
exit(1);
if ( *buf == '\n' )
exit(0);
for ( p = strtok(buf, SEPCHAR); p != NULL; p = strtok(NULL, SEPCHAR) )
if ( *p == *(p + strlen(p) - 1) )
printf("%s ", p);
printf("\n");}
exit(0);}
0
easybudda
Модератор
Эксперт CЭксперт С++
9695 / 5645 / 963
Регистрация: 25.07.2009
Сообщений: 10,849
21.01.2010, 20:27 #4
Цитата Сообщение от корвиниус Посмотреть сообщение
прога не работает!
C какого перепуга? Отсюда прям скопировал, заново скомпилил - всё работает. А от той она только поддержкой русского языка в консоли отличается. Если её в линухе компилить, то в нём windows.h в принципе нету...
0
21.01.2010, 20:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2010, 20:27
Привет! Вот еще темы с ответами:

Обработка строки из файла - C++
Получаю строку из файла. CLogFile* logFileObj=NULL; logFileObj=new CLogFile(FileName); CString line; BOOL...

Обработка каждой строки - C++
Вот такое задание &quot; Ввести матрицу , вывести ее. В каждой строке матрицы опре-делить, сколько в ней положительных, сколько отрицательных и...

Обработка символьной строки - C++
Посчитал кол-во символов в строке. Но вот как добавить цифру? #include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;string.h&gt; ...

Обработка строки Char - C++
Задание: Пользователь вводит текст(рандомные символы). Найти наибольшую группу символов состоящих не из букв и вывести начальную...


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

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

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