Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "arbol.h"
- void print(int path[20],int ini,int fin){
- for (int i = ini; i <= fin; i++)
- printf("%d ",path[i]);
- printf("\n");
- }
- void findSum2(TNode *node, int sum, int path[20], int level) {
- if (node == NULL)
- return;
- path[level] = node->elem;
- int t = 0;
- for (int i = level; i >= 0; i--){
- t += path[i];
- if (t == sum)
- print(path, i, level);
- }
- findSum2(node->left, sum, path, level + 1);
- findSum2(node->right, sum, path, level + 1);
- }
- void findSum(TNode *node, int sum) {
- int path[20];
- findSum2(node, sum, path, 0);
- }
- int main(){
- TBinaryTree T;
- TNode q;
- init_tree(&T);
- insert(&T,5);
- insert(&T,3);
- insert(&T,7);
- insert(&T,1);
- insert(&T,4);
- insert(&T,6);
- insert(&T,8);
- insert(&T,0);
- findSum(T.root,7);
- }
Advertisement
Add Comment
Please, Sign In to add comment