Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
корвиниус
0 / 0 / 0
Регистрация: 18.01.2010
Сообщений: 6
21.01.2010, 18:23     обработка строки в с++ #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
#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 минуты
исправьте ошибки
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.01.2010, 18:23     обработка строки в с++
Посмотрите здесь:

C++ обработка строки указателями с++
Обработка строки C++
Обработка строки C++
Строки обработка C++
C++ Обработка строки
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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);
}
корвиниус
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);}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
21.01.2010, 20:27     обработка строки в с++ #4
Цитата Сообщение от корвиниус Посмотреть сообщение
прога не работает!
C какого перепуга? Отсюда прям скопировал, заново скомпилил - всё работает. А от той она только поддержкой русского языка в консоли отличается. Если её в линухе компилить, то в нём windows.h в принципе нету...
Yandex
Объявления
21.01.2010, 20:27     обработка строки в с++
Ответ Создать тему
Опции темы

Текущее время: 13:54. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru