Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2013, 17:42   #1
Vladis1av
Пользователь
 
Регистрация: 25.02.2013
Сообщений: 13
По умолчанию Найти последовательность "z" (СИ)

Даны 2 последовательности "x" и "y". Найти последовательность "z", которую можно получить вычеркиванием элементов как из "x", так и из "y"
Vladis1av вне форума Ответить с цитированием
Старый 23.04.2013, 17:46   #2
Vladis1av
Пользователь
 
Регистрация: 25.02.2013
Сообщений: 13
По умолчанию

помогите упростить код и сделать нахождение последовательности Z через 2 одномерных массива


1. #include <stdio.h>
2. #include <string.h>
3. #include <stdlib.h>
4.
5. int max (int a, int b)
6. {
7. return (a > b ? a : b);
8. }
9.
10. void solve (const char *s1, const char *s2)
11. {
12. int n1 = strlen(s1), n2 = strlen(s2), i, j, d[100][100], c;
13.
14. for (i = 0; i < 10000; i++)
15. *(d[0]+i) = 0;
16.
17. for (i = 1; i <= n1; i++)
18. for (j = 1; j <= n2; j++)
19. if (s1[i-1] == s2[j-1])
20. d[i][j] = d[i-1][j-1] + 1;
21. else
22. d[i][j] = max(d[i-1][j], d[i][j-1]);
23.
24.
25.
26. i = n1, j = n2, c = d[n1][n2];
27. char res[100];
28.
29. while (c)
30. {
31. while (d[i-1][j] == c) i--;
32. while (d[i][j-1] == c) j--;
33.
34. res[c-1] = s1[i-1];
35.
36. --i, --j, --c;
37. }
38.
39.
40.
41. if (d[n1][n2]) printf("%c", res[0]);
42.
43. for (i = 1; i < d[n1][n2]; i++)
44. printf("%c", res[i]);
45.
46. printf("\n");
47. }
48.
49. int main()
50. {
51. char s1[100], s2[100];
52.
53. gets(s1);
54. gets(s2);
55.
56. solve(s1, s2);
57.
58. system("pause");
59.
60. return 0;
61. }
Vladis1av вне форума Ответить с цитированием
Старый 23.04.2013, 17:57   #3
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Найти последовательность "z", которую можно получить вычеркиванием элементов как из "x", так и из "y"
Любую такую последовательность? Пустая последовательность удовлетворяет данному требованию.
Abstraction вне форума Ответить с цитированием
Старый 23.04.2013, 18:54   #4
cleac
Пользователь
 
Аватар для cleac
 
Регистрация: 19.04.2013
Сообщений: 27
По умолчанию

А можно задание в студию?
All rights reserved©.
cleac вне форума Ответить с цитированием
Старый 23.04.2013, 20:02   #5
Vladis1av
Пользователь
 
Регистрация: 25.02.2013
Сообщений: 13
По умолчанию

Задание : Даны 2 последовательности "x" и "y". Найти последовательность "z", которую можно получить вычеркиванием элементов как из "x", так и из "y"
Vladis1av вне форума Ответить с цитированием
Старый 24.04.2013, 18:05   #6
Vladis1av
Пользователь
 
Регистрация: 25.02.2013
Сообщений: 13
По умолчанию

Что, ни кто не подскажет?
Vladis1av вне форума Ответить с цитированием
Старый 24.04.2013, 18:15   #7
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Пустая последовательность удовлетворяет данному требованию.
10 символов.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
на вход подаются сведения об учениках и оценках. Найти тех, кто сдал на "4" и "5" ( Паскаль ) weech Помощь студентам 1 18.11.2011 13:57
Найти слова, в которых доля букв "а" и "е" минимальна. Андрей_ка Паскаль, Turbo Pascal, PascalABC.NET 0 10.10.2010 16:56
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Помогите пожайлуста найти, кто человек "вконтакте", зная его "мэйл" Аксюнька1990 Помощь студентам 1 12.06.2009 06:16