From 74ba32db56c0b2a93ea6bcb18c6fff68c378a24e Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Mon, 18 Jul 2022 19:50:32 +0000 Subject: [PATCH] Include printing double arrays in utils Co-authored-by: sigonasr2 --- .../67/p067_triangle.txt | 0 current | Bin 66136 -> 17032 bytes src/main.c | 141 +----------------- src/utils.c | 18 +++ src/utils.h | 4 +- 5 files changed, 25 insertions(+), 138 deletions(-) rename p067_triangle.txt => archives/67/p067_triangle.txt (100%) diff --git a/p067_triangle.txt b/archives/67/p067_triangle.txt similarity index 100% rename from p067_triangle.txt rename to archives/67/p067_triangle.txt diff --git a/current b/current index 75d181a272d16324004b7b8d698c4a4cabe47bc0..71ba0d8a1d9bccbe2efee013cca93da7e2c28ca6 100755 GIT binary patch delta 3573 zcmbVPe@xrQ6~FJ-cCZ~XY=SZQiD{ONBn6Xg3C$R*N%L*L-iXT9lBsLbbq!e)DNRWR zDp^w59fj6%th#wa5RG<3S{rXow{%QhyetcWHYC&3x>dKCE}EQ)NS500!$1lQ`0m}^ z_dMfl|LoA+yZ3pYyL8f5VTV$^Lxr7%adwxXcMs#kZ8h$Cg zS7LKl6CSR{3$whBHns<6)Vyo0V~ zATs`ubW7l(X_fC$L}*BxS01oX+dk~mBI07^D(SQHPLCb~f%|pb?BRBS3q5`>$EpAN zjv0{PxQ}hj#5t@@W(?q)=EkuM96e2!=?t6(OO$guPV-041!g**fg8vJf=)&eJ0u?*bYd-{gKa?+Mt>?TBQ>uZv=nA-Y|d4MssEk8myrL8~ahE29d>aq6} z0(r$d2${%RJBzv_OJA0yo3ixz^2Ot)%3;Q~W>-5#Obso|W1{*puC6&gMCxQ%4OP!z zM-7=$RBW4Wa;QPmuV^3LwP=aFVn20uK$pnB#`s(M%i*AXmE2Yi0sESbZ3vR)P4#MP z^%JzK25vUxs=?|XppqO~(6nTOrfFA9d&(hZFY#dz{DEgrsDWmGgBmohFJ(iN>CJs= zs6KoiH4@Eb*xx49H`KsvKvrA(je|;muXqcKkXh}+`NAUdcdxHd+G8dAb)p#P6_=1a6mUd18I zTQ#_IxqB?ne3WZB47AiSrrqP&T4unMdGI;;uDyI2`XUAvh8Q5Kd0tW8)Wh}Tg-FRM|Wza2>`JS_FfFG!bW=wsHSG*a^Pks$uq4 zxfFv9BgN9&;2m+>yY$zU-dI{%ATUyF57XO?MZCi?h>koc^?+rxSZaq2qfg5CZGKBG zgve+q#78&F9s*0pZsN@2V@_n0j5`b#(u2~87}b`NFnnwL0m%=~p_Yf*TWCvA&1WaV zU$&^;7)U-3bS8*>16fXNt}Kw@1*Gx6;*RuJHglAL6cYB8eJm4Y6FG_a36g0tkRl?& zwHU`RdomH;H;|RYhJm?|QY0Hl6V4SL{Ua{8CD@ViXMrC!PZW7Q9LA$%<$i1>;iHaG z@f21%NSwGZ9mS4B=w9LE#AEVs38W^|)2R}k@ANzC>>#WS+Zs2l!)ICaRT-=cjwJ_45~ zonBey){71fv%8Jm%UErA3BmSpPxM%*xiXZ-DCDVkH81Fou(h6^)8G>L9g^#y97U-K9=8jCw?17@w=O#B?nNo98RjZ;g0!THxrs4_X#nP_$sP`1Ppa6%)TzvR4*rvJd0u^#M9Mvj> z(x_8gAgZ~o;)i-y8KktWR&lR-$~wLzZMBN`B2w0IMB18uRlD@V-ro_GDl8tpG^yxF zNtNQDY!w_e(-3ynO453>j%;Gci3}v(8I`0;OHm~s@>1svs@5~xxVln;+1a)K279Iv AJOBUy literal 66136 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

#Nhd1AC|$@Z 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 #include "utils.h" -#define TARGET 2 - /* - By starting at the top of the triangle below and moving to adjacent numbers on the row below, the maximum total from top to bottom is 23. - - 3 - 7 4 - 2 4 6 - 8 5 9 3 - - That is, 3 + 7 + 4 + 9 = 23. - - Find the maximum total from top to bottom in triangle.txt (right click and 'Save Link/Target As...'), a 15K text file containing a triangle with one-hundred rows. + - NOTE: This is a much more difficult version of Problem 18. It is not possible to try every route to solve this problem, as there are 299 altogether! If you could check one trillion (112) routes every second it would take over twenty billion years to check them all. There is an efficient algorithm to solve it. ;o) - - https://projecteuler.net/problem=67 + https://projecteuler.net/problem= */ int main(int argc,char**argv) { - int rows[][100] = { - {59}, - {73,41}, - {52,40,9}, - {26,53,6,34}, - {10,51,87,86,81}, - {61,95,66,57,25,68}, - {90,81,80,38,92,67,73}, - {30,28,51,76,81,18,75,44}, - {84,14,95,87,62,81,17,78,58}, - {21,46,71,58,2,79,62,39,31,9}, - {56,34,35,53,78,31,81,18,90,93,15}, - {78,53,4,21,84,93,32,13,97,11,37,51}, - {45,3,81,79,5,18,78,86,13,30,63,99,95}, - {39,87,96,28,3,38,42,17,82,87,58,7,22,57}, - {6,17,51,17,7,93,9,7,75,97,95,78,87,8,53}, - {67,66,59,60,88,99,94,65,55,77,55,34,27,53,78,28}, - {76,40,41,4,87,16,9,42,75,69,23,97,30,60,10,79,87}, - {12,10,44,26,21,36,32,84,98,60,13,12,36,16,63,31,91,35}, - {70,39,6,5,55,27,38,48,28,22,34,35,62,62,15,14,94,89,86}, - {66,56,68,84,96,21,34,34,34,81,62,40,65,54,62,5,98,3,2,60}, - {38,89,46,37,99,54,34,53,36,14,70,26,2,90,45,13,31,61,83,73,47}, - {36,10,63,96,60,49,41,5,37,42,14,58,84,93,96,17,9,43,5,43,6,59}, - {66,57,87,57,61,28,37,51,84,73,79,15,39,95,88,87,43,39,11,86,77,74,18}, - {54,42,5,79,30,49,99,73,46,37,50,2,45,9,54,52,27,95,27,65,19,45,26,45}, - {71,39,17,78,76,29,52,90,18,99,78,19,35,62,71,19,23,65,93,85,49,33,75,9,2}, - {33,24,47,61,60,55,32,88,57,55,91,54,46,57,7,77,98,52,80,99,24,25,46,78,79,5}, - {92,9,13,55,10,67,26,78,76,82,63,49,51,31,24,68,5,57,7,54,69,21,67,43,17,63,12}, - {24,59,6,8,98,74,66,26,61,60,13,3,9,9,24,30,71,8,88,70,72,70,29,90,11,82,41,34}, - {66,82,67,4,36,60,92,77,91,85,62,49,59,61,30,90,29,94,26,41,89,4,53,22,83,41,9,74,90}, - {48,28,26,37,28,52,77,26,51,32,18,98,79,36,62,13,17,8,19,54,89,29,73,68,42,14,8,16,70,37}, - {37,60,69,70,72,71,9,59,13,60,38,13,57,36,9,30,43,89,30,39,15,2,44,73,5,73,26,63,56,86,12}, - {55,55,85,50,62,99,84,77,28,85,3,21,27,22,19,26,82,69,54,4,13,7,85,14,1,15,70,59,89,95,10,19}, - {4,9,31,92,91,38,92,86,98,75,21,5,64,42,62,84,36,20,73,42,21,23,22,51,51,79,25,45,85,53,3,43,22}, - {75,63,2,49,14,12,89,14,60,78,92,16,44,82,38,30,72,11,46,52,90,27,8,65,78,3,85,41,57,79,39,52,33,48}, - {78,27,56,56,39,13,19,43,86,72,58,95,39,7,4,34,21,98,39,15,39,84,89,69,84,46,37,57,59,35,59,50,26,15,93}, - {42,89,36,27,78,91,24,11,17,41,5,94,7,69,51,96,3,96,47,90,90,45,91,20,50,56,10,32,36,49,4,53,85,92,25,65}, - {52,9,61,30,61,97,66,21,96,92,98,90,6,34,96,60,32,69,68,33,75,84,18,31,71,50,84,63,3,3,19,11,28,42,75,45,45}, - {61,31,61,68,96,34,49,39,5,71,76,59,62,67,6,47,96,99,34,21,32,47,52,7,71,60,42,72,94,56,82,83,84,40,94,87,82,46}, - {1,20,60,14,17,38,26,78,66,81,45,95,18,51,98,81,48,16,53,88,37,52,69,95,72,93,22,34,98,20,54,27,73,61,56,63,60,34,63}, - {93,42,94,83,47,61,27,51,79,79,45,1,44,73,31,70,83,42,88,25,53,51,30,15,65,94,80,44,61,84,12,77,2,62,2,65,94,42,14,94}, - {32,73,9,67,68,29,74,98,10,19,85,48,38,31,85,67,53,93,93,77,47,67,39,72,94,53,18,43,77,40,78,32,29,59,24,6,2,83,50,60,66}, - {32,1,44,30,16,51,15,81,98,15,10,62,86,79,50,62,45,60,70,38,31,85,65,61,64,6,69,84,14,22,56,43,9,48,66,69,83,91,60,40,36,61}, - {92,48,22,99,15,95,64,43,1,16,94,2,99,19,17,69,11,58,97,56,89,31,77,45,67,96,12,73,8,20,36,47,81,44,50,64,68,85,40,81,85,52,9}, - {91,35,92,45,32,84,62,15,19,64,21,66,6,1,52,80,62,59,12,25,88,28,91,50,40,16,22,99,92,79,87,51,21,77,74,77,7,42,38,42,74,83,2,5}, - {46,19,77,66,24,18,5,32,2,84,31,99,92,58,96,72,91,36,62,99,55,29,53,42,12,37,26,58,89,50,66,19,82,75,12,48,24,87,91,85,2,7,3,76,86}, - {99,98,84,93,7,17,33,61,92,20,66,60,24,66,40,30,67,5,37,29,24,96,3,27,70,62,13,4,45,47,59,88,43,20,66,15,46,92,30,4,71,66,78,70,53,99}, - {67,60,38,6,88,4,17,72,10,99,71,7,42,25,54,5,26,64,91,50,45,71,6,30,67,48,69,82,8,56,80,67,18,46,66,63,1,20,8,80,47,7,91,16,3,79,87}, - {18,54,78,49,80,48,77,40,68,23,60,88,58,80,33,57,11,69,55,53,64,2,94,49,60,92,16,35,81,21,82,96,25,24,96,18,2,5,49,3,50,77,6,32,84,27,18,38}, - {68,1,50,4,3,21,42,94,53,24,89,5,92,26,52,36,68,11,85,1,4,42,2,45,15,6,50,4,53,73,25,74,81,88,98,21,67,84,79,97,99,20,95,4,40,46,2,58,87}, - {94,10,2,78,88,52,21,3,88,60,6,53,49,71,20,91,12,65,7,49,21,22,11,41,58,99,36,16,9,48,17,24,52,36,23,15,72,16,84,56,2,99,43,76,81,71,29,39,49,17}, - {64,39,59,84,86,16,17,66,3,9,43,6,64,18,63,29,68,6,23,7,87,14,26,35,17,12,98,41,53,64,78,18,98,27,28,84,80,67,75,62,10,11,76,90,54,10,5,54,41,39,66}, - {43,83,18,37,32,31,52,29,95,47,8,76,35,11,4,53,35,43,34,10,52,57,12,36,20,39,40,55,78,44,7,31,38,26,8,15,56,88,86,1,52,62,10,24,32,5,60,65,53,28,57,99}, - {3,50,3,52,7,73,49,92,66,80,1,46,8,67,25,36,73,93,7,42,25,53,13,96,76,83,87,90,54,89,78,22,78,91,73,51,69,9,79,94,83,53,9,40,69,62,10,79,49,47,3,81,30}, - {71,54,73,33,51,76,59,54,79,37,56,45,84,17,62,21,98,69,41,95,65,24,39,37,62,3,24,48,54,64,46,82,71,78,33,67,9,16,96,68,52,74,79,68,32,21,13,78,96,60,9,69,20,36}, - {73,26,21,44,46,38,17,83,65,98,7,23,52,46,61,97,33,13,60,31,70,15,36,77,31,58,56,93,75,68,21,36,69,53,90,75,25,82,39,50,65,94,29,30,11,33,11,13,96,2,56,47,7,49,2}, - {76,46,73,30,10,20,60,70,14,56,34,26,37,39,48,24,55,76,84,91,39,86,95,61,50,14,53,93,64,67,37,31,10,84,42,70,48,20,10,72,60,61,84,79,69,65,99,73,89,25,85,48,92,56,97,16}, - {3,14,80,27,22,30,44,27,67,75,79,32,51,54,81,29,65,14,19,4,13,82,4,91,43,40,12,52,29,99,7,76,60,25,1,7,61,71,37,92,40,47,99,66,57,1,43,44,22,40,53,53,9,69,26,81,7}, - {49,80,56,90,93,87,47,13,75,28,87,23,72,79,32,18,27,20,28,10,37,59,21,18,70,4,79,96,3,31,45,71,81,6,14,18,17,5,31,50,92,79,23,47,9,39,47,91,43,54,69,47,42,95,62,46,32,85}, - {37,18,62,85,87,28,64,5,77,51,47,26,30,65,5,70,65,75,59,80,42,52,25,20,44,10,92,17,71,95,52,14,77,13,24,55,11,65,26,91,1,30,63,15,49,48,41,17,67,47,3,68,20,90,98,32,4,40,68}, - {90,51,58,60,6,55,23,68,5,19,76,94,82,36,96,43,38,90,87,28,33,83,5,17,70,83,96,93,6,4,78,47,80,6,23,84,75,23,87,72,99,14,50,98,92,38,90,64,61,58,76,94,36,66,87,80,51,35,61,38}, - {57,95,64,6,53,36,82,51,40,33,47,14,7,98,78,65,39,58,53,6,50,53,4,69,40,68,36,69,75,78,75,60,3,32,39,24,74,47,26,90,13,40,44,71,90,76,51,24,36,50,25,45,70,80,61,80,61,43,90,64,11}, - {18,29,86,56,68,42,79,10,42,44,30,12,96,18,23,18,52,59,2,99,67,46,60,86,43,38,55,17,44,93,42,21,55,14,47,34,55,16,49,24,23,29,96,51,55,10,46,53,27,92,27,46,63,57,30,65,43,27,21,20,24,83}, - {81,72,93,19,69,52,48,1,13,83,92,69,20,48,69,59,20,62,5,42,28,89,90,99,32,72,84,17,8,87,36,3,60,31,36,36,81,26,97,36,48,54,56,56,27,16,91,8,23,11,87,99,33,47,2,14,44,73,70,99,43,35,33}, - {90,56,61,86,56,12,70,59,63,32,1,15,81,47,71,76,95,32,65,80,54,70,34,51,40,45,33,4,64,55,78,68,88,47,31,47,68,87,3,84,23,44,89,72,35,8,31,76,63,26,90,85,96,67,65,91,19,14,17,86,4,71,32,95}, - {37,13,4,22,64,37,37,28,56,62,86,33,7,37,10,44,52,82,52,6,19,52,57,75,90,26,91,24,6,21,14,67,76,30,46,14,35,89,89,41,3,64,56,97,87,63,22,34,3,79,17,45,11,53,25,56,96,61,23,18,63,31,37,37,47}, - {77,23,26,70,72,76,77,4,28,64,71,69,14,85,96,54,95,48,6,62,99,83,86,77,97,75,71,66,30,19,57,90,33,1,60,61,14,12,90,99,32,77,56,41,18,14,87,49,10,14,90,64,18,50,21,74,14,16,88,5,45,73,82,47,74,44}, - {22,97,41,13,34,31,54,61,56,94,3,24,59,27,98,77,4,9,37,40,12,26,87,9,71,70,7,18,64,57,80,21,12,71,83,94,60,39,73,79,73,19,97,32,64,29,41,7,48,84,85,67,12,74,95,20,24,52,41,67,56,61,29,93,35,72,69}, - {72,23,63,66,1,11,7,30,52,56,95,16,65,26,83,90,50,74,60,18,16,48,43,77,37,11,99,98,30,94,91,26,62,73,45,12,87,73,47,27,1,88,66,99,21,41,95,80,2,53,23,32,61,48,32,43,43,83,14,66,95,91,19,81,80,67,25,88}, - {8,62,32,18,92,14,83,71,37,96,11,83,39,99,5,16,23,27,10,67,2,25,44,11,55,31,46,64,41,56,44,74,26,81,51,31,45,85,87,9,81,95,22,28,76,69,46,48,64,87,67,76,27,89,31,11,74,16,62,3,60,94,42,47,9,34,94,93,72}, - {56,18,90,18,42,17,42,32,14,86,6,53,33,95,99,35,29,15,44,20,49,59,25,54,34,59,84,21,23,54,35,90,78,16,93,13,37,88,54,19,86,67,68,55,66,84,65,42,98,37,87,56,33,28,58,38,28,38,66,27,52,21,81,15,8,22,97,32,85,27}, - {91,53,40,28,13,34,91,25,1,63,50,37,22,49,71,58,32,28,30,18,68,94,23,83,63,62,94,76,80,41,90,22,82,52,29,12,18,56,10,8,35,14,37,57,23,65,67,40,72,39,93,39,70,89,40,34,7,46,94,22,20,5,53,64,56,30,5,56,61,88,27}, - {23,95,11,12,37,69,68,24,66,10,87,70,43,50,75,7,62,41,83,58,95,93,89,79,45,39,2,22,5,22,95,43,62,11,68,29,17,40,26,44,25,71,87,16,70,85,19,25,59,94,90,41,41,80,61,70,55,60,84,33,95,76,42,63,15,9,3,40,38,12,3,32}, - {9,84,56,80,61,55,85,97,16,94,82,94,98,57,84,30,84,48,93,90,71,5,95,90,73,17,30,98,40,64,65,89,7,79,9,19,56,36,42,30,23,69,73,72,7,5,27,61,24,31,43,48,71,84,21,28,26,65,65,59,65,74,77,20,10,81,61,84,95,8,52,23,70}, - {47,81,28,9,98,51,67,64,35,51,59,36,92,82,77,65,80,24,72,53,22,7,27,10,21,28,30,22,48,82,80,48,56,20,14,43,18,25,50,95,90,31,77,8,9,48,44,80,90,22,93,45,82,17,13,96,25,26,8,73,34,99,6,49,24,6,83,51,40,14,15,10,25,1}, - {54,25,10,81,30,64,24,74,75,80,36,75,82,60,22,69,72,91,45,67,3,62,79,54,89,74,44,83,64,96,66,73,44,30,74,50,37,5,9,97,70,1,60,46,37,91,39,75,75,18,58,52,72,78,51,81,86,52,8,97,1,46,43,66,98,62,81,18,70,93,73,8,32,46,34}, - {96,80,82,7,59,71,92,53,19,20,88,66,3,26,26,10,24,27,50,82,94,73,63,8,51,33,22,45,19,13,58,33,90,15,22,50,36,13,55,6,35,47,82,52,33,61,36,27,28,46,98,14,73,20,73,32,16,26,80,53,47,66,76,38,94,45,2,1,22,52,47,96,64,58,52,39}, - {88,46,23,39,74,63,81,64,20,90,33,33,76,55,58,26,10,46,42,26,74,74,12,83,32,43,9,2,73,55,86,54,85,34,28,23,29,79,91,62,47,41,82,87,99,22,48,90,20,5,96,75,95,4,43,28,81,39,81,1,28,42,78,25,39,77,90,57,58,98,17,36,73,22,63,74,51}, - {29,39,74,94,95,78,64,24,38,86,63,87,93,6,70,92,22,16,80,64,29,52,20,27,23,50,14,13,87,15,72,96,81,22,8,49,72,30,70,24,79,31,16,64,59,21,89,34,96,91,48,76,43,53,88,1,57,80,23,81,90,79,58,1,80,87,17,99,86,90,72,63,32,69,14,28,88,69}, - {37,17,71,95,56,93,71,35,43,45,4,98,92,94,84,96,11,30,31,27,31,60,92,3,48,5,98,91,86,94,35,90,90,8,48,19,33,28,68,37,59,26,65,96,50,68,22,7,9,49,34,31,77,49,43,6,75,17,81,87,61,79,52,26,27,72,29,50,7,98,86,1,17,10,46,64,24,18,56}, - {51,30,25,94,88,85,79,91,40,33,63,84,49,67,98,92,15,26,75,19,82,5,18,78,65,93,61,48,91,43,59,41,70,51,22,15,92,81,67,91,46,98,11,11,65,31,66,10,98,65,83,21,5,56,5,98,73,67,46,74,69,34,8,30,5,52,7,98,32,95,30,94,65,50,24,63,28,81,99,57}, - {19,23,61,36,9,89,71,98,65,17,30,29,89,26,79,74,94,11,44,48,97,54,81,55,39,66,69,45,28,47,13,86,15,76,74,70,84,32,36,33,79,20,78,14,41,47,89,28,81,5,99,66,81,86,38,26,6,25,13,60,54,55,23,53,27,5,89,25,23,11,13,54,59,54,56,34,16,24,53,44,6}, - {13,40,57,72,21,15,60,8,4,19,11,98,34,45,9,97,86,71,3,15,56,19,15,44,97,31,90,4,87,87,76,8,12,30,24,62,84,28,12,85,82,53,99,52,13,94,6,65,97,86,9,50,94,68,69,74,30,67,87,94,63,7,78,27,80,36,69,41,6,92,32,78,37,82,30,5,18,87,99,72,19,99}, - {44,20,55,77,69,91,27,31,28,81,80,27,2,7,97,23,95,98,12,25,75,29,47,71,7,47,78,39,41,59,27,76,13,15,66,61,68,35,69,86,16,53,67,63,99,85,41,56,8,28,33,40,94,76,90,85,31,70,24,65,84,65,99,82,19,25,54,37,21,46,33,2,52,99,51,33,26,4,87,2,8,18,96}, - {54,42,61,45,91,6,64,79,80,82,32,16,83,63,42,49,19,78,65,97,40,42,14,61,49,34,4,18,25,98,59,30,82,72,26,88,54,36,21,75,3,88,99,53,46,51,55,78,22,94,34,40,68,87,84,25,30,76,25,8,92,84,42,61,40,38,9,99,40,23,29,39,46,55,10,90,35,84,56,70,63,23,91,39}, - {52,92,3,71,89,7,9,37,68,66,58,20,44,92,51,56,13,71,79,99,26,37,2,6,16,67,36,52,58,16,79,73,56,60,59,27,44,77,94,82,20,50,98,33,9,87,94,37,40,83,64,83,58,85,17,76,53,2,83,52,22,27,39,20,48,92,45,21,9,42,24,23,12,37,52,28,50,78,79,20,86,62,73,20,59}, - {54,96,80,15,91,90,99,70,10,9,58,90,93,50,81,99,54,38,36,10,30,11,35,84,16,45,82,18,11,97,36,43,96,79,97,65,40,48,23,19,17,31,64,52,65,65,37,32,65,76,99,79,34,65,79,27,55,33,3,1,33,27,61,28,66,8,4,70,49,46,48,83,1,45,19,96,13,81,14,21,31,79,93,85,50,5}, - {92,92,48,84,59,98,31,53,23,27,15,22,79,95,24,76,5,79,16,93,97,89,38,89,42,83,2,88,94,95,82,21,1,97,48,39,31,78,9,65,50,56,97,61,1,7,65,27,21,23,14,15,80,97,44,78,49,35,33,45,81,74,34,5,31,57,9,38,94,7,69,54,69,32,65,68,46,68,78,90,24,28,49,51,45,86,35}, - {41,63,89,76,87,31,86,9,46,14,87,82,22,29,47,16,13,10,70,72,82,95,48,64,58,43,13,75,42,69,21,12,67,13,64,85,58,23,98,9,37,76,5,22,31,12,66,50,29,99,86,72,45,25,10,28,19,6,90,43,29,31,67,79,46,25,74,14,97,35,76,37,65,46,23,82,6,22,30,76,93,66,94,17,96,13,20,72}, - {63,40,78,8,52,9,90,41,70,28,36,14,46,44,85,96,24,52,58,15,87,37,5,98,99,39,13,61,76,38,44,99,83,74,90,22,53,80,56,98,30,51,63,39,44,30,91,91,4,22,27,73,17,35,53,18,35,45,54,56,27,78,48,13,69,36,44,38,71,25,30,56,15,22,73,43,32,69,59,25,93,83,45,11,34,94,44,39,92}, - {12,36,56,88,13,96,16,12,55,54,11,47,19,78,17,17,68,81,77,51,42,55,99,85,66,27,81,79,93,42,65,61,69,74,14,1,18,56,12,1,58,37,91,22,42,66,83,25,19,4,96,41,25,45,18,69,96,88,36,93,10,12,98,32,44,83,83,4,72,91,4,27,73,7,34,37,71,60,59,31,1,54,54,44,96,93,83,36,4,45}, - {30,18,22,20,42,96,65,79,17,41,55,69,94,81,29,80,91,31,85,25,47,26,43,49,2,99,34,67,99,76,16,14,15,93,8,32,99,44,61,77,67,50,43,55,87,55,53,72,17,46,62,25,50,99,73,5,93,48,17,31,70,80,59,9,44,59,45,13,74,66,58,94,87,73,16,14,85,38,74,99,64,23,79,28,71,42,20,37,82,31,23}, - {51,96,39,65,46,71,56,13,29,68,53,86,45,33,51,49,12,91,21,21,76,85,2,17,98,15,46,12,60,21,88,30,92,83,44,59,42,50,27,88,46,86,94,73,45,54,23,24,14,10,94,21,20,34,23,51,4,83,99,75,90,63,60,16,22,33,83,70,11,32,10,50,29,30,83,46,11,5,31,17,86,42,49,1,44,63,28,60,7,78,95,40}, - {44,61,89,59,4,49,51,27,69,71,46,76,44,4,9,34,56,39,15,6,94,91,75,90,65,27,56,23,74,6,23,33,36,69,14,39,5,34,35,57,33,22,76,46,56,10,61,65,98,9,16,69,4,62,65,18,99,76,49,18,72,66,73,83,82,40,76,31,89,91,27,88,17,35,41,35,32,51,32,67,52,68,74,85,80,57,7,11,62,66,47,22,67}, - {65,37,19,97,26,17,16,24,24,17,50,37,64,82,24,36,32,11,68,34,69,31,32,89,79,93,96,68,49,90,14,23,4,4,67,99,81,74,70,74,36,96,68,9,64,39,88,35,54,89,96,58,66,27,88,97,32,14,6,35,78,20,71,6,85,66,57,2,58,91,72,5,29,56,73,48,86,52,9,93,22,57,79,42,12,1,31,68,17,59,63,76,7,77}, - {73,81,14,13,17,20,11,9,1,83,8,85,91,70,84,63,62,77,37,7,47,1,59,95,39,69,39,21,99,9,87,2,97,16,92,36,74,71,90,66,33,73,73,75,52,91,11,12,26,53,5,26,26,48,61,50,90,65,1,87,42,47,74,35,22,73,24,26,56,70,52,5,48,41,31,18,83,27,21,39,80,85,26,8,44,2,71,7,63,22,5,52,19,8,20}, - {17,25,21,11,72,93,33,49,64,23,53,82,3,13,91,65,85,2,40,5,42,31,77,42,5,36,6,54,4,58,7,76,87,83,25,57,66,12,74,33,85,37,74,32,20,69,3,97,91,68,82,44,19,14,89,28,85,85,80,53,34,87,58,98,88,78,48,65,98,40,11,57,10,67,70,81,60,79,74,72,97,59,79,47,30,20,54,80,89,91,14,5,33,36,79,39}, - {60,85,59,39,60,7,57,76,77,92,6,35,15,72,23,41,45,52,95,18,64,79,86,53,56,31,69,11,91,31,84,50,44,82,22,81,41,40,30,42,30,91,48,94,74,76,64,58,74,25,96,57,14,19,3,99,28,83,15,75,99,1,89,85,79,50,3,95,32,67,44,8,7,41,62,64,29,20,14,76,26,55,48,71,69,66,19,72,44,25,14,1,48,74,12,98,7}, - {64,66,84,24,18,16,27,48,20,14,47,69,30,86,48,40,23,16,61,21,51,50,26,47,35,33,91,28,78,64,43,68,4,79,51,8,19,60,52,95,6,68,46,86,35,97,27,58,4,65,30,58,99,12,12,75,91,39,50,31,42,64,70,4,46,7,98,73,98,93,37,89,77,91,64,71,64,65,66,21,78,62,81,74,42,20,83,70,73,95,78,45,92,27,34,53,71,15}, - {30,11,85,31,34,71,13,48,5,14,44,3,19,67,23,73,19,57,6,90,94,72,57,69,81,62,59,68,88,57,55,69,49,13,7,87,97,80,89,5,71,5,5,26,38,40,16,62,45,99,18,38,98,24,21,26,62,74,69,4,85,57,77,35,58,67,91,79,79,57,86,28,66,34,72,51,76,78,36,95,63,90,8,78,47,63,45,31,22,70,52,48,79,94,15,77,61,67,68}, - {23,33,44,81,80,92,93,75,94,88,23,61,39,76,22,3,28,94,32,6,49,65,41,34,18,23,8,47,62,60,3,63,33,13,80,52,31,54,73,43,70,26,16,69,57,87,83,31,3,93,70,81,47,95,77,44,29,68,39,51,56,59,63,7,25,70,7,77,43,53,64,3,94,42,95,39,18,1,66,21,16,97,20,50,90,16,70,10,95,69,29,6,25,61,41,26,15,59,63,35}, - }; - - int max=99; - for (int row=99;row>0;row--) { - for (int col=0;colnumb2)?numb1:numb2; - } - max--; - } - for (int i=0;i<100;i++) { - for (int j=0;j<100;j++) { - printf("%d\t",rows[i][j]); - } - printf("\n"); - } - - printf("\nYour maximum route is %d",rows[0][0]); - + int testArr[][5] = {{1,2,3,4},{1,2,5,3},{6,2,1,7},{2,3,1,631},{1,0,0,0,1}}; + printIntDoubleArr(5,5,testArr); return 0; } \ No newline at end of file diff --git a/src/utils.c b/src/utils.c index bd5f32c..90b55a9 100644 --- a/src/utils.c +++ b/src/utils.c @@ -51,4 +51,22 @@ struct String add(struct String numb1, struct String numb2){ } struct String newStr = {digitCount,str}; return newStr; +} + +void printLongDoubleArr(int a,int b,long doubleArr[a][b]) { + for (int i=0;i