Форум программистов, компьютерный форум CyberForum.ru Форум программистов | Компьютерный форум | Форум web-программистов | Форум по электронике и бытовой технике | Форум о софте | Научный форум | Карьера и бизнес
CyberForum.ru - форум программистов и сисадминов > > >
Восстановить пароль Регистрация

Ответ Создать новую тему
 
jabala
Новичок
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 3
12.07.2012, 00:27     Найти слова, в которых предпоследняя буква повторяется.
  #1
У меня задание такое: Написать строчку из слов. Найти все слова, предпоследняя буква которой повторяется в слове ещё раз. Предпоследняя буква первого слова. Вывести на экран. А в этом коде задание такое же, только взять 1-ую букву.
Код 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
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <math.h>
 
void main()
{
    char s[30];
    char w[30];
    char mas[30][1];
    
    puts("\n vvod stroki");
    gets(s);
 
    int k=0,t=0,len,i,j;
    
    len=strlen(s);
    while (t<len)
    {
        for(i=t,j=0;s[i]=",";i++;j++)
        w[j]=s[i];
        w[j]='5';
for ( t=0;t<k;t++)
if(mas[t][10]!=mas[1][10])
{
    strcat (s,mas[t]);
    k++;
    t=i+1;
puts(s);
getch();
}
}
}
AdAgent
Объявления
12.07.2012, 00:27
salam
Форумчанин
137 / 118 / 5
Регистрация: 10.07.2012
Сообщений: 638
12.07.2012, 06:01
  #2
Вы не могли бы более внятно объяснить задание... мой мозг слишком слаб, видимо...
Кот Ангенс
Форумчанин
296 / 246 / 1
Регистрация: 24.05.2012
Сообщений: 593
12.07.2012, 06:48
  #3
Код C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
enum { LENGTH = 50; }
 
int main() {
    char c1, c2 = '\0', c3 = '\0', b, s[LENGTH];
    while ((c1 = getchar()) != ' ' && c1 != '\t') {
        c3 = c2;
        c2 = c1;
    }
    do {
        b = c1 = 0;
        while ((s[c1] = getchar()) != '\n' && s[c1] != ' ' && s[c1] != '\t')
            if (b)
                putchar(s[c1]);
            else if (s[c1] == c3) {
                for (c2 = 0; c2 <= c1; c2++)
                    putchar(s[c2]);
                b = 1;
            } else
                c1++;
    } while (s[c1] != '\n');
}
BRcr
Модератор
2897 / 1586 / 89
Регистрация: 03.02.2011
Сообщений: 3,848
Записей в блоге: 6
12.07.2012, 06:51
  #4
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <string>
#include <sstream>
#include <iostream>
// ...
    string word, data = "First word's next to last letter is \"s\"."
                   " In this string should be about eight matches.";
    char letter;
    stringstream ss;
 
    cout << data << endl << endl;
    ss << data;
    ss >> word;
    letter = word[word.length( ) - 2];
    while ( ss >> word ) {
        if ( word.find( letter ) != word.npos ) {
            cout << word << endl;
        }
    }
First word's next to last letter is "s". In this string should be about eight matches.

word's
last
is
"s".
this
string
should
matches.
Кот Ангенс
Форумчанин
296 / 246 / 1
Регистрация: 24.05.2012
Сообщений: 593
12.07.2012, 07:08
  #5
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
enum { LENGTH = 50; }
Черт, не там точку с запятой поставил.
jabala
Новичок
0 / 0 / 0
Регистрация: 08.07.2012
Сообщений: 3
12.07.2012, 08:37  [ТС]
  #6
Надо вывести все слова, в которых есть предпоследняя буква первого слова. А слова вводить с помощью клавиатуры.
David Sylva
Форумчанин
1250 / 912 / 11
Регистрация: 17.05.2012
Сообщений: 2,568
12.07.2012, 09:28
  #7
Можно так
Код 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
#include <iostream> 
using namespace std; 
int main() 
{ 
    char str[100]; 
    char word[100]; 
    char ch;
 
    cout << "Inter a first word " << endl; 
    cin >> str;  
    int size = strlen(str);
    do 
    { 
        cout << "Inter a word " << endl; 
        cin >> word;  
        int s = strlen(word); 
        for ( int i = 0; i < s; i++) 
            if(word[i] == str[size-2]) 
            {
            cout << word << endl;  
            break; 
            }
        cout << "Continue ( y/ n) " << endl; 
        cin >> ch; 
    } while(ch!='n'); 
}
Кот Ангенс
Форумчанин
296 / 246 / 1
Регистрация: 24.05.2012
Сообщений: 593
12.07.2012, 11:39
  #8
Цитата Сообщение от jabala Посмотреть сообщение
Надо вывести все слова, в которых есть предпоследняя буква первого слова. А слова вводить с помощью клавиатуры.
Цитата Сообщение от Кот Ангенс Посмотреть сообщение
Сегодня, 08:48
Цитата Сообщение от BRcr Посмотреть сообщение
Сегодня, 08:51
Выбирай.
BRcr
Модератор
2897 / 1586 / 89
Регистрация: 03.02.2011
Сообщений: 3,848
Записей в блоге: 6
12.07.2012, 21:27     Найти слова, в которых предпоследняя буква повторяется.
  #9
Цитата Сообщение от jabala Посмотреть сообщение
А слова вводить с помощью клавиатуры.
А самому дописать не судьба?

Не по теме:

Помнишь с детства сказочку про двух братьев из ларца одинаковых с лица? В жизни оно так и бывает - не стоит особо вестись на халявку, рано или поздно оно боком выйдет.

Yandex
Объявления
12.07.2012, 21:27
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать новую тему

Похожие темы
Тема Раздел Автор Дата
C++ Найти слова, у которых первая буква входит в слово ещё раз
Ребята, помогите пожалуйста! Возникли проблемы с написанием программы на С++ Задание: В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов,...
С++ для начинающих a_lififi 27.05.2014 20:28
C++ Найти в тексте слова, у которых первая буква совпадает с последней
Здравствуйте. помогите написать программу. найти в тексте слова, у которых первая буква совпадает с последней. Спасибо
С++ для начинающих N-Dubz 19.05.2013 13:59
C++ Строковые переменные: Найти все слова, в которых буква ''а'' входит не менее двух раз
Дан текст. Найти все слова, в которых буква ''а'' входит не менее двух раз.
С++ для начинающих Zhuldyz 05.05.2013 23:09
C (СИ) Вывести на экран те слова, в которых первая буква больше не повторяется
Дано массив с n слов. В каждному слове от 1 до 10 букв. Вывести на экран те слова ,в которых первая буква больше не повторяеться.
C для начинающих majuw 27.03.2013 21:06
C++ Напечатать все слова, в которых повторяется первая буква слова
1)Задан текст.Напечатать все слова, в которых повторяется первая буква слова. 2)Задан текст. Напечатать все слова, имеющие четное количество букв.
С++ для начинающих Fobin 19.12.2012 17:33
Pascal Вывести в порядке, обратном к алфавитному, слова текста, в которых не повторяется первая буква
Дана строка, содержащая русский текст. Вывести в порядке, обратном к алфавитному, слова текста, в которых не повторяется первая буква, в остальных словах удалить гласные и продублировать звонкие...
Pascal (Паскаль) kxirosu 27.11.2012 17:58
C++ Вводим текстовую строку. Вывести на экран те слова, в которых предпоследняя буква – согласная.
Вводим текстовую строку. Вывести на экран те слова, в которых предпоследняя буква – согласная. Помогите пожалуйста
С++ для начинающих Devilkas 04.05.2012 22:28
Turbo Pascal Текст. Напечатать те слова, которые отличны от первого слова и предпоследняя буква слова входит в в него еще раз
Дана последовательность, содержащая от 2 до 50 слов, в каждом из которых от 1 до 8 строчных латинских букв; между соседними словами - не менее одного пробела, за последним словом - точка. Напечатать...
Turbo Pascal YaDenis03 29.04.2012 18:32
Опции темы

Текущее время: 15:34. Часовой пояс GMT +4.

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