Skip to content

Commit e43667c

Browse files
committed
add result printing
1 parent 7984aa6 commit e43667c

File tree

3 files changed

+40
-2
lines changed

3 files changed

+40
-2
lines changed

longestAscendingSubsequence/longestAscendingSubsequence.h

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@
33
#include <stdio.h>
44

55
typedef int SubsequencesMatrix[2][MAXLEN];
6+
typedef int IntegerSequence[MAXLEN];
67

7-
void printMaximumsMatrix(SubsequencesMatrix matrix, int len)
8+
void print_maximums_matrix(IntegerSequence sequence, SubsequencesMatrix matrix, int len)
89
{
910

11+
for (int i = 0; i < len; i++)
12+
{
13+
printf("%d, ", sequence[i]);
14+
}
15+
printf("\n");
16+
1017
for (int i = 0; i < len; i++)
1118
{
1219
printf("%d, ", matrix[0][i]);
@@ -20,3 +27,33 @@ void printMaximumsMatrix(SubsequencesMatrix matrix, int len)
2027
}
2128
printf("\n");
2229
}
30+
31+
void determine_max_length_and_display_sequence(IntegerSequence input, SubsequencesMatrix matrix, int len)
32+
{
33+
34+
int max = 0, maxIndex = 0;
35+
int resultStack[MAXLEN];
36+
37+
for (int i = 0; i < len; i++)
38+
{
39+
if (matrix[0][i] > matrix[0][maxIndex])
40+
{
41+
maxIndex = i;
42+
}
43+
}
44+
45+
printf("Result: \n");
46+
int cursor = maxIndex;
47+
int stackTop = -1;
48+
while (cursor >= 0) {
49+
resultStack[++stackTop] = input[cursor];
50+
cursor = matrix[1][cursor];
51+
}
52+
53+
//read stack
54+
for (;stackTop > 0;) {
55+
printf("%d, ", resultStack[stackTop--]);
56+
}
57+
58+
printf("\n");
59+
}

longestAscendingSubsequence/main

640 Bytes
Binary file not shown.

longestAscendingSubsequence/main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ int main(int argc, char const *argv[])
3434
}
3535
}
3636

37-
printMaximumsMatrix(subsequences, length);
37+
print_maximums_matrix(sequence, subsequences, length);
38+
determine_max_length_and_display_sequence(sequence, subsequences, length);
3839

3940
return 0;
4041
}

0 commit comments

Comments
 (0)