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

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

Войти
Регистрация
Восстановить пароль
 
Micki
227 / 3 / 0
Регистрация: 01.04.2010
Сообщений: 145
#1

Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность - C++

17.10.2012, 11:08. Просмотров 426. Ответов 3
Метки нет (Все метки)

Помогите, пожалуйста, написать программу, которая находила бы номер элемента из массива А, с которого массив В начинается как подпоследовательность(массивы ввести с клавиатуры):
к примеру
А {1 3 5 35 23 4 0}
B {5 35 23 }
в этом случае программа должна вывести 2, если подпоследовательности нет, то программаа должна вывести нет вхождений
Спасибо

 Комментарий модератора 
Тема не может называться "подпоследовательность"
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2012, 11:08     Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность
Посмотрите здесь:

Найти номер элемента, с которого начинается самая длинная последовательность единиц - C++
Люди, окажите пожалуйста хелп, буду признателен...Minmax28. Дано целое число N и набор из N целых чисел, содержащий только нули и единицы....

Найти номер элемента, значение которого близко к среднему значению массива - C++
не пойму, что не так.... #include "stdafx.h" #include <iostream> #include <conio.h> #include <clocale> #include <math.h>...

Массив: Как найти номер последнего отрицательного элемента? - C++
Как найти номер последнего отрицательного элемента?

Определить номер элемента массива значение которого равно заданному числу - C++
Дано вещественное число А и массив Х(10). Определить номер элемента, равного числу А. Если такого члена нет, то вывести соответствующее...

Для каждого столбца массива найти номер последнего нечетного элемента и записать данные в новый массив - C++
1) Дан массив размером п*п, элементы которого целые числа. Для каждого столбца найти номер последнего нечетного элемента и записать данные...

Для каждого столбца массива найти номер последнего нечетного элемента и записать данные в новый массив - C++
Дан массив размером nxn, элементы которого целые числа. Для каждого столбца найти номер последнего нечетного элемента и записать данные в...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
17.10.2012, 13:30     Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность #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
#include <iostream>
#include <algorithm>
#include <array>
#include <iterator>
using namespace std;
 
int main()
{
    const int sizeOfa = 8;
    const int sizeOfb = 3;
    array<int, sizeOfa> a = {1,3,4,5,35,23,4,0};
    array<int, sizeOfb> b = {5,35,23};
    auto pos = find(a.begin(), a.end(), b[0]);
    if (pos != a.end())
    {
        if (equal(pos, pos+sizeOfb, b.begin()))
            cout<<"Yes: "<<distance(a.begin(), pos)<<endl;
        else
            cout<<"No\n";
    }
    else
        cout<<"No\n";
    system("pause");
    return 0;
}
panicwassano
17.10.2012, 13:35
  #3

Не по теме:

задание похоже на поиск подстроки в строке

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2012, 13:40     Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность
Еще ссылки по теме:

Найти номер элемента начиная с которого символы двух масивов совпадают - C++
Здравствуйте, можете помочь с написанием подпрограммы? Нам дано два одномерных массива длиной 3 и 77 символов. Требуется найти номер...

Найти наименьший номер элемента последовательности, для которого выполняется условие М - C++
Помогите,пожалуйста,никак не могу составить программу. Найти наименьший номер элемента последовательности,для которого выполняется...

Найти номер элемента последовательности значение которого не превосходит заданное число - C++
Дано действительное число x &gt; 1. Последовательность a1, a2, … an образована по закону An-=(-1^n)*((корень 20x)+40)/(3n+2)! Вывести...

Найти номер элемента, значение которого наименее отклоняется от среднего значения - C++
2) Дан линейный массив А, состоящий из N вещественных чисел. Составить программу, которая находит номер элемента, значение которого...


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

Или воспользуйтесь поиском по форуму:
Micki
227 / 3 / 0
Регистрация: 01.04.2010
Сообщений: 145
17.10.2012, 13:40  [ТС]     Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
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
#include <iostream>
#include <algorithm>
#include <array>
#include <iterator>
using namespace std;
 
int main()
{
    const int sizeOfa = 8;
    const int sizeOfb = 3;
    array<int, sizeOfa> a = {1,3,4,5,35,23,4,0};
    array<int, sizeOfb> b = {5,35,23};
    auto pos = find(a.begin(), a.end(), b[0]);
    if (pos != a.end())
    {
        if (equal(pos, pos+sizeOfb, b.begin()))
            cout<<"Yes: "<<distance(a.begin(), pos)<<endl;
        else
            cout<<"No\n";
    }
    else
        cout<<"No\n";
    system("pause");
    return 0;
}
спсибо большое!...а можно эту задачу более тривиальным языком решить?
например как эту программу, которая должна находить первое вхождение второго массива в первый, т.е. дан массив А: (1 3 5 7 3 5 20 9)
и массив В: ( 4 2 5)
в итоге программа должна вывести в ответе "i=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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
    int const N=8;
    int a[N];
    for (int i=0; i<N; i++)
    cin>>a[i];
    int const M=3;
    int b[M];
    for (int j=0; j<M; j++)
    cin>>b[j];
    int k=0;
        for (int i=0; i<N; i++)
{
        for (int j=0; j<M; j++)
        if (a[i]=b[j])
        { k=i+1; break;
}
 
 if(k)
  break;
}
if (k!=0)
    cout<<k-1<<endl;
else
    cout<<" net vhozdeniy"<<endl;
 
system ("pause");   
return 0;
}
Yandex
Объявления
17.10.2012, 13:40     Найти номер элемента из массива А, с которого массив В начинается как подпоследовательность
Ответ Создать тему
Опции темы

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