Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
LeilaIbragimova
1

Найти самое короткое слово, начинающееся на "а" и поменять его с первым словом местами

22.04.2013, 20:03. Показов 1816. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребят, помогите пожалуйста!

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

2. Дана строка символов. Найти самое короткое слово, начинающееся на "а" и поменять его с первым словом местами.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.04.2013, 20:03
Ответы с готовыми решениями:

Найти самое короткое слово, начинающееся с буквы ''а'', и поменять его с первым словом в строке
Дана строка символов. Найти самое короткое слово, начинающееся с буквы ''а'', и поменять его с...

Найти самое короткое слово начинающееся на букву "А", и поменять его с первым словом в строке
Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке. ...

Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке
Доброго времени суток! Изучаю java недавно. Помогите найти самое короткое слово начинающееся на...

Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке
Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке. Если...

Найти самое короткое слово, начинающееся на букву "а", и поменять его с первым словом в строке
Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке Буду...

4
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
03.05.2013, 07:27 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
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
#include <iostream>
#include <string>
#include <algorithm>
 
//
void delete_match_symbol(std::string& first, const std::string& two); 
// 1. Составить процедуру, в результате обращения к которой из первой заданной строки удаляется каждый символ, принадлежащий второй строке.
 
//2. Дана строка символов. Найти самое короткое слово, начинающееся на "а" и поменять его с первым словом местами.
 
void reverse(std::string& first);
std::string ShortWord(const std::string &line);  //https://www.cyberforum.ru/cpp-beginners/thread441293.html
 
int main()
{
    //begin 1
    std::string first = "hello Lhhsl";
 
    std::string two = "ehho";
 
    delete_match_symbol(first, two);
 
    std::cout << first << std::endl;
    //end 1
 
    //begin 2
    
    std::string text = "amazonka sse alooool avana avento";
 
    reverse(text);
 
    std::cout << text << std::endl;
 
    return 0;
}
 
void delete_match_symbol(std::string& first, const std::string& two)
{
    for(size_t i = 0; i < two.size(); ++i)
        if(std::count(first.begin(), first.end(), two.at(i)) > 0)
            first.erase(first.begin()+first.find(two.at(i)));
}
 
void reverse(std::string& first)
{
    std::string shortWord = ShortWord(first);
 
    unsigned int found = first.find(shortWord); //http://www.cplusplus.com/reference/string/string/find/
 
    unsigned int pos_come_with = found + shortWord.size();
 
    if(pos_come_with != first.size())
        ++pos_come_with;                // чтобы небыло лишнего пробела между словами
    
    shortWord += " ";  // добавляем пробел чтобы не слипалось
 
    first.erase(first.begin() + found, first.begin() + pos_come_with);
    
    shortWord += first;
 
    first = shortWord;
 
}
 
std::string ShortWord(const std::string &line)  //https://www.cyberforum.ru/cpp-beginners/thread441293.html
{
    std::string shortWord = ""; // переменная с результатом
 
    // перебираем побуквенно строку
    for (std::string::const_iterator it = line.begin(); it != line.end();)
    {
        std::string buffer;
        while (it != line.end() && isalpha(*it))        // пока текующий символ - буква
            buffer += *(it++);                          // добавляем его в буфер и переходим к следующему
        while (it != line.end() && !isalpha(*it)) ++it; // пропускаем небуквенные символы
        if (shortWord.empty() ||                        // если самое короткое слово пустое (не найдено) или
            shortWord.length() > buffer.length() &&     // найдено более короткое слово
            buffer.at(0) == 'a')                        // и первая буква слова будет A - eng
            shortWord = buffer;                         // устанавливаем новое значение
    }
 
    return shortWord;
}
про отзыв не забудьте )
0
0x10
03.05.2013, 07:34
  #3

Не по теме:

GetVariable, а ничего, что это сишный раздел?

0
164 / 120 / 46
Регистрация: 17.03.2013
Сообщений: 284
03.05.2013, 07:36 4
Цитата Сообщение от 0x10 Посмотреть сообщение

Не по теме:

GetVariable, а ничего, что это сишный раздел?

Поступила просьба о помощи https://www.cyberforum.ru/free... ost4498068

там было указанно, что разработка c++, тк не смог списаться с автором, выложил решения сюда.
0
96 / 748 / 279
Регистрация: 11.04.2012
Сообщений: 971
03.05.2013, 09:28 5
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
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <memory.h>
 
int main(int argc, char* argv[])
{
    char str1[256] = "hello world!!!";
    char str2[256] = "yellow dove!!!";
 
    for (int i = 0; str1[i] != '\0'; i++)
        if (strchr(str2, str1[i]))
        {
            for (int r = i; str1[r] != '\0'; r++)
                str1[r] = str1[r+1]; i--;
        }
 
    printf("%s\n%s\n",str1,str2);
 
    _getch();
 
    return 0;
}
http://codepad.org/MrMLnUxo

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
49
50
51
52
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <memory.h>
 
void swap(char*& str1, char*& str2);
 
int main(int argc, char* argv[])
{
    static char* str = "apple hello world ate";
    
    char** sstr = new char*[256];
    memset((void*)sstr, 0x00, sizeof(char*) * 256);
 
    printf("%s\n",str);
    
    int r = 0;
    while (*str != '\0')
    {
        char* buf = strchr(str,' ');
        int n = 0; char* word = new char[256];
        while(str != buf && *str != '\0') 
            word[n++] = *str++;
 
        word[n] = '\0';
 
        if (strcmp("\0", word) < 0)
            sstr[r++] = word;
 
        str++;
    }
 
    int min_i = 0;
    int min_len = strlen(sstr[0]); 
    for (int i = 0; i < r; i++)
        if (strlen(sstr[i]) < min_len && *sstr[i] == 'a')
         { min_len = strlen(sstr[i]); min_i = i; }
 
    swap(sstr[min_i], sstr[0]);
 
    for (int q = 0; q < r; q++)
        printf("%s ",sstr[q]);
 
    printf("\n");
        
    _getch();
 
    return 0;
}
 
void swap(char*& str1, char*& str2)
 { char* _ts = str1; str1 = str2; str2 = _ts; }
Миниатюры
Найти самое короткое слово, начинающееся на "а" и поменять его с первым словом местами   Найти самое короткое слово, начинающееся на "а" и поменять его с первым словом местами  
1
03.05.2013, 09:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2013, 09:28
Помогаю со студенческими работами здесь

Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке
Найти самое короткое слово начинающееся на букву &quot;а&quot;, и поменять его с первым словом в строке

Найти самое короткое слово начинающееся на букву "а", и поменять его с первым словом в строке
Дана строка символов. Найти самое короткое слово начинающееся на букву &quot;а&quot;, и поменять его с первым...

Найти самое длинное слово, начинающееся с согласной буквы и поменять его с последним словом в строке.
Привееееет, Всем!!! помогите решить задачку)) Дана строка символов. Найти самое длинное слово,...

Найти самое длинное слово, начинающееся с согласной буквы и поменять его с последним словом в строке
Найти самое длинное слово, начинающееся с согласной буквы и поменять его с последним словом в...

Найти самое длинное слово, начинающееся с согласной буквы, и поменять его с последним словом в строке (Pascal -> C++)
Дана строка символов.Найти самое длинное слово начинающееся с согласной буквы и поменять его с...

Строковые переменные. как найти короткое слово и поменять его с первым словом?
Дана строка символов. Найти самое короткое слово,начинающиеся с буквы &quot;а&quot;, и поменять его с первым...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru