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

Нужно сменить способ ввода данных

10.06.2019, 18:55. Показов 1371. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть решение задачи о длине наибольшей общей подпоследовательности, но нужно вместо того что бы указывать последовательности в самом коде, ввести его как две строки разделенные пробелом длиной от 1 до 1000 включительно
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<bits/stdc++.h> 
 
  
int max(int a, int b); 
  
int sequence( char *X, char *Y, int m, int n ) 
{ 
   if (m == 0 || n == 0) 
     return 0; 
   if (X[m-1] == Y[n-1]) 
     return 1 + sequence(X, Y, m-1, n-1); 
   else
     return max(sequence(X, Y, m, n-1), sequence(X, Y, m-1, n)); 
} 
  
int max(int a, int b) 
{ 
    return (a > b)? a : b; 
} 
  
int main() 
{ 
  
  char X[] = "RBKBGRBGGG"; //первая последовательность  
  char Y[] = "BGKRBRKBGB"; //вторая последовательность
  
  int m = strlen(X); 
  int n = strlen(Y); 
  
  printf("Длина наибольшей общей подпоследовательности  %d", sequence( X, Y, m, n ) ); 
  
  return 0; 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2019, 18:55
Ответы с готовыми решениями:

Дать выбрать пользователю способ ввода данных в массив
Дать выбрать пользователю способ ввода данных в массив (ручной или случайный автоматический) и...

Как реализуется способ ввода с клавиатуры данных класса
как реализуется способ ввода с клавиатуры данных класса? Например я создал класс. class student...

Нужно изменить метод ввода данных - с помощью текстового файла
Нужно изменить способ ввода и вывода данных - с помощью текстовых файлов #include &quot;stdafx.h&quot; ...

Нужно изменить метод ввода данных - с помощью текстового файла
Всего-лишь нужно изменить способ ввода данных - с помощью текстового файла: 1. Посчитать функцию с...

10
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
10.06.2019, 19:58 2
C++
1
2
char X[1001];
cin.get(X,1001);
Не пойму, почему это вызвало трудность?
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
10.06.2019, 20:09 3
zss,
Цитата Сообщение от zss Посмотреть сообщение
Не пойму, почему это вызвало трудность?
насколько я понял ему нужно не это ,ему нужно чтобы вводилась строка и сразу делилась на два массива относительно пробела,а Ваш код просто считывает 1001 знак введенный?
0
0 / 0 / 0
Регистрация: 01.07.2016
Сообщений: 24
10.06.2019, 20:10  [ТС] 4
Цитата Сообщение от ReYalp Посмотреть сообщение
насколько я понял ему нужно не это ,ему нужно чтобы вводилась строка и сразу делилась на два массива относительно пробела,а Ваш код просто считывает 1001 знак введенный?
именно это мне и нужно
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
10.06.2019, 20:15 5
Цитата Сообщение от Balabushka Посмотреть сообщение
именно это мне и нужно
его код? или то что я описал?
0
0 / 0 / 0
Регистрация: 01.07.2016
Сообщений: 24
10.06.2019, 20:17  [ТС] 6
то что вы описали
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
10.06.2019, 20:28 7
Лучший ответ Сообщение было отмечено Balabushka как решение

Решение

Balabushka, тогда секунду

Добавлено через 7 минут
Balabushka,
C++
1
2
3
4
5
6
7
setlocale(LC_ALL, "Russian");
    char X[1000]; //первая последовательность  
    char Y[1000]; //вторая последовательность
    string str;
    getline(cin, str);
    strcpy_s(X, str.substr(0,str.find(" ")).c_str());
    strcpy_s(Y, str.substr(str.find(" ") + 1,(str.length() - str.find(" "))).c_str());
1
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
10.06.2019, 20:53 8
ReYalp, Зачем так мудрено
C++
1
2
3
4
char X[1000]; //первая последовательность  
char Y[1000]; //вторая последовательность
cin>>X;// первое слово
cin>>Y;// второе слово
0
0 / 0 / 0
Регистрация: 01.07.2016
Сообщений: 24
10.06.2019, 20:56  [ТС] 9
Цитата Сообщение от zss Посмотреть сообщение
Зачем так мудрено
потому что даные нужно было вводить одной стркой разделенной пробелом
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
10.06.2019, 21:13 10
zss, ну в задаче было сказано одной строкой ввести
0
Модератор
Эксперт С++
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
10.06.2019, 21:41 11
А кто сказал, что одной строкой нельзя?
cin>>X; вводит одно слово до первого пробельного символа.
Можно, кстати, написать
C++
1
cin>>X>>Y;
Если так кажется более похоже на одну строку.
0
10.06.2019, 21:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2019, 21:41
Помогаю со студенческими работами здесь

Сменить форму ввода города
Здравствуйте. Можете помочь поменять форму ввода на странице http://mirlombardov.com/franshiza...

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

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

Как сменить язык ввода программно?
Привет всем. Странно, но не нашел ответ на такой простой вопрос - как сменить язык ввода...

Способ ввода через пробел?
Как написать второй способ?

Нужно вывести одну запись из базы. Обязательно нужно ее через цикл или есть более лучший способ?
У меня есть функция, которая все записи прогоняет и возращает массив, стоит ли с помощью нее мне...


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

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