Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 0
Регистрация: 03.06.2019
Сообщений: 83
1

Перебор элементов в массиве

25.08.2019, 12:11. Показов 2224. Ответов 5
Метки нет (Все метки)

Здравствуйте. Как выбрать нужные элементы в массиве и записать их в строку?
Условие задачи:
Есть строка из символов "ghfdekvlnveolhk", из этой строки нужно взять символы h e l l o (если эти символы есть в строке, а они там есть), чтоб на выходе было, cout << "hello";
Вот мой код:
Язык С++

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
char str[16] = "ghfdekvlnveolhk";
    for (int i = 0; i < strlen(str); i++) {
        cout << str[i];
    }
 
    cout << endl;
 
    for (int i = 0; i < strlen(str); i++) {
        if (...) {
             ...
        }
        break;
    }
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.08.2019, 12:11
Ответы с готовыми решениями:

Перебор элементов в массиве
Условие задачи: Написать отдельную функцию, которая принимает 2 параметра (char, int sum). Дано:...

Перебор элементов в массиве
Добрый день. Помогите с задачей по С++. Условие: Есть отдельная функция которая должна посчитать...

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

Как сделать перебор чисел в массиве
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;random&gt; #include &lt;cstdlib&gt; #include &lt;ctime&gt;...

5
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
25.08.2019, 12:40 2
По тупому так:
C++
1
2
3
for(int i = 0; i < strlen(str); i++) {
     if(str[i] == 'h' || str[i] == 'e' || str[i] == 'l' || str[i] == 'o') cout << str[i];
}
0
6280 / 4263 / 2455
Регистрация: 18.12.2017
Сообщений: 13,295
25.08.2019, 16:04 3
Cortas, неужели не заметно, что в результате применения Вашего варианта получается совсем не то что требуется ?

Artem_7,
Цитата Сообщение от Artem_7 Посмотреть сообщение
... если эти символы есть в строке, а они там есть...
напишите оригинал условия задачи
0
221 / 148 / 79
Регистрация: 14.03.2016
Сообщений: 459
25.08.2019, 17:54 4
Цитата Сообщение от Yetty Посмотреть сообщение
неужели не заметно, что в результате применения Вашего варианта получается совсем не то что требуется?
Да согласен, однако и условие не полное. Правильней было бы в set запихнуть исходную строку, а далее, если хотя бы один символ не найден, вывести сообщение об ошибки или что-нибудь ещё сделать, иначе, просто вывести искомую строку.
0
6737 / 4537 / 1838
Регистрация: 07.05.2019
Сообщений: 13,725
Записей в блоге: 1
26.08.2019, 09:21 5
Цитата Сообщение от Artem_7 Посмотреть сообщение
Есть строка из символов "ghfdekvlnveolhk", из этой строки нужно взять символы h e l l o (если эти символы есть в строке, а они там есть), чтоб на выходе было, cout << "hello";
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    const char str[] = "ghfdekvlnveolhk";
    const char str2[] = "hello";
    
    size_t chs[256] = {0};
    for (auto ch: str)
        ++chs[ch];
 
    auto *p = str2;
    for (; *p && chs[*p] != 0; ++p)
        --chs[*p];
 
    if (*p == 0)
        std::cout << str2 << std::endl;
    else 
        std::cout << "not found" << std::endl;
}
0
595 / 448 / 264
Регистрация: 24.02.2017
Сообщений: 1,607
26.08.2019, 14:58 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
 
int main() {
 char str[] = "ghfdekvlnveolhk";
 char str2[] = "hello";
 char *p,*p2=str2;
 int count=0;
 
while(*p2){
     p=strrchr(str,p2[0]);
     if(p)
       if(p2[0]==p[0]){
         p[0]=' ';
         count++;
       }
    *p2++;
 }
 count==strlen(str2) ? cout<<str2<<"\n" : cout<<"not found";
 system("pause");
 return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.08.2019, 14:58

Помощь в написании контрольных, курсовых и дипломных работ здесь.

В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива
В одномерном массиве, состоящем из 10 вещественных элементов вычислить: 1. Номер минимального...

Перебор элементов массива
Господа,является ли метод do_something_with_value (*iter); в коде перебора , частью API ,или это...

Поменять местами пары элементов в массиве
дан массив целых чисел. поменять местами пары элементов в массиве: 1 и2,3 и 4,5 и 6 и т.д.

Перебор элементов массива
Добрый день, ув. форумчане. В наличии следующий код: int i; WCHAR *slovo = {L&quot;слово1&quot;,...


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

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

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