home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Programming Contest / MacHack Contest.sit / MacHack Contest / Test Code Folder / Problem 10 Test Code / Main.cp
MacBinary  |  1998-06-07  |  2.0 KB  |  [TEXT/CWIE]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert MS-DOS Code Page Info (other/dosCodePage) ext Unsupported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Sun Jun 7 19:13:38 1998, modified Sun Jun 7 19:13:38 1998, creator 'CWIE', type ASCII, 1367 bytes "Main.cp" , at 0x5d7 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[CWIE]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 07 4d 61 69 6e 2e 63 | 70 00 00 00 00 00 00 00 |..Main.c|p.......|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 43 57 49 | 45 00 00 00 00 00 00 00 |.TEXTCWI|E.......|
|00000050| 00 00 00 00 00 05 57 00 | 00 01 9a b1 a0 cf 22 b1 |......W.|......".|
|00000060| a0 cf 22 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..".....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 73 df 00 00 |........|....s...|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 53 6f 6c 75 74 69 |#include| "Soluti|
|00000090| 6f 6e 2e 68 22 0d 0d 23 | 69 6e 63 6c 75 64 65 20 |on.h"..#|include |
|000000a0| 22 50 72 6f 62 6c 65 6d | 55 74 69 6c 73 2e 68 22 |"Problem|Utils.h"|
|000000b0| 0d 0d 23 69 6e 63 6c 75 | 64 65 20 3c 73 74 64 69 |..#inclu|de <stdi|
|000000c0| 6f 2e 68 3e 0d 23 69 6e | 63 6c 75 64 65 20 3c 73 |o.h>.#in|clude <s|
|000000d0| 74 72 69 6e 67 2e 68 3e | 0d 23 69 6e 63 6c 75 64 |tring.h>|.#includ|
|000000e0| 65 20 3c 46 69 6c 65 73 | 2e 68 3e 0d 23 69 6e 63 |e <Files|.h>.#inc|
|000000f0| 6c 75 64 65 20 3c 45 72 | 72 6f 72 73 2e 68 3e 0d |lude <Er|rors.h>.|
|00000100| 0d 73 74 61 74 69 63 20 | 4f 53 45 72 72 20 52 65 |.static |OSErr Re|
|00000110| 61 64 52 65 67 69 73 74 | 65 72 41 72 72 61 79 28 |adRegist|erArray(|
|00000120| 20 48 61 6e 64 6c 65 20 | 69 6e 64 61 74 61 2c 20 | Handle |indata, |
|00000130| 52 65 67 69 73 74 65 72 | 41 72 72 61 79 20 72 65 |Register|Array re|
|00000140| 67 69 73 74 65 72 73 20 | 29 0d 7b 0d 09 4f 53 45 |gisters |).{..OSE|
|00000150| 72 72 20 65 72 72 3b 0d | 09 63 68 61 72 20 6c 69 |rr err;.|.char li|
|00000160| 6e 65 5b 4d 41 58 5f 4c | 49 4e 45 5f 4c 45 4e 5d |ne[MAX_L|INE_LEN]|
|00000170| 3b 0d 09 63 68 61 72 20 | 2a 6c 69 6e 65 70 3b 0d |;..char |*linep;.|
|00000180| 09 0d 09 65 72 72 20 3d | 20 2d 31 3b 0d 09 6c 69 |...err =| -1;..li|
|00000190| 6e 65 70 20 3d 20 6c 69 | 6e 65 3b 0d 09 69 66 20 |nep = li|ne;..if |
|000001a0| 28 20 50 72 6f 62 6c 65 | 6d 52 65 61 64 4c 69 6e |( Proble|mReadLin|
|000001b0| 65 46 72 6f 6d 48 61 6e | 64 6c 65 28 20 69 6e 64 |eFromHan|dle( ind|
|000001c0| 61 74 61 2c 20 6c 69 6e | 65 2c 20 4d 41 58 5f 4c |ata, lin|e, MAX_L|
|000001d0| 49 4e 45 5f 4c 45 4e 20 | 29 20 29 20 7b 0d 09 09 |INE_LEN |) ) {...|
|000001e0| 65 72 72 20 3d 20 6e 6f | 45 72 72 3b 0d 09 09 66 |err = no|Err;...f|
|000001f0| 6f 72 20 28 20 69 6e 74 | 20 69 20 3d 20 30 3b 20 |or ( int| i = 0; |
|00000200| 69 20 3c 3d 20 32 35 20 | 26 26 20 65 72 72 20 3d |i <= 25 |&& err =|
|00000210| 3d 20 6e 6f 45 72 72 3b | 20 69 2b 2b 20 29 20 7b |= noErr;| i++ ) {|
|00000220| 0d 09 09 09 69 66 20 28 | 20 21 50 72 6f 62 6c 65 |....if (| !Proble|
|00000230| 6d 47 65 74 53 49 6e 74 | 33 32 28 20 26 6c 69 6e |mGetSInt|32( &lin|
|00000240| 65 70 2c 20 26 72 65 67 | 69 73 74 65 72 73 5b 69 |ep, &reg|isters[i|
|00000250| 5d 20 29 20 29 20 7b 0d | 09 09 09 09 65 72 72 20 |] ) ) {.|....err |
|00000260| 3d 20 2d 32 3b 0d 09 09 | 09 7d 0d 09 09 7d 0d 09 |= -2;...|.}...}..|
|00000270| 09 69 66 20 28 20 65 72 | 72 20 3d 3d 20 6e 6f 45 |.if ( er|r == noE|
|00000280| 72 72 20 26 26 20 2a 6c | 69 6e 65 70 20 29 20 7b |rr && *l|inep ) {|
|00000290| 0d 09 09 09 65 72 72 20 | 3d 20 2d 33 3b 0d 09 09 |....err |= -3;...|
|000002a0| 7d 0d 09 7d 0d 09 72 65 | 74 75 72 6e 20 65 72 72 |}..}..re|turn err|
|000002b0| 3b 0d 7d 0d 0d 70 61 73 | 63 61 6c 20 4f 53 45 72 |;.}..pas|cal OSEr|
|000002c0| 72 20 43 68 65 63 6b 49 | 6e 74 65 72 70 72 65 74 |r CheckI|nterpret|
|000002d0| 65 72 28 20 63 6f 6e 73 | 74 20 46 53 53 70 65 63 |er( cons|t FSSpec|
|000002e0| 2a 20 69 6e 66 69 6c 65 | 2c 20 63 6f 6e 73 74 20 |* infile|, const |
|000002f0| 46 53 53 70 65 63 2a 20 | 6f 75 74 66 69 6c 65 2c |FSSpec* |outfile,|
|00000300| 20 42 6f 6f 6c 65 61 6e | 20 2a 63 6f 72 72 65 63 | Boolean| *correc|
|00000310| 74 20 29 0d 7b 0d 09 4f | 53 45 72 72 20 65 72 72 |t ).{..O|SErr err|
|00000320| 3b 0d 09 48 61 6e 64 6c | 65 20 69 6e 64 61 74 61 |;..Handl|e indata|
|00000330| 3b 0d 09 52 65 67 69 73 | 74 65 72 41 72 72 61 79 |;..Regis|terArray|
|00000340| 20 69 6e 72 65 67 69 73 | 74 65 72 73 3b 0d 09 52 | inregis|ters;..R|
|00000350| 65 67 69 73 74 65 72 41 | 72 72 61 79 20 6f 75 74 |egisterA|rray out|
|00000360| 72 65 67 69 73 74 65 72 | 73 3b 0d 09 0d 09 2a 63 |register|s;....*c|
|00000370| 6f 72 72 65 63 74 20 3d | 20 66 61 6c 73 65 3b 0d |orrect =| false;.|
|00000380| 09 0d 09 65 72 72 20 3d | 20 50 72 6f 62 6c 65 6d |...err =| Problem|
|00000390| 46 69 6c 65 52 65 61 64 | 28 20 69 6e 66 69 6c 65 |FileRead|( infile|
|000003a0| 2c 20 26 69 6e 64 61 74 | 61 20 29 3b 0d 09 50 72 |, &indat|a );..Pr|
|000003b0| 6f 62 6c 65 6d 4c 6f 67 | 45 72 72 6f 72 28 20 65 |oblemLog|Error( e|
|000003c0| 72 72 2c 20 22 43 68 65 | 63 6b 49 6e 74 65 72 70 |rr, "Che|ckInterp|
|000003d0| 72 65 74 65 72 3a 20 50 | 72 6f 62 6c 65 6d 46 69 |reter: P|roblemFi|
|000003e0| 6c 65 52 65 61 64 22 20 | 29 3b 0d 09 69 66 20 28 |leRead" |);..if (|
|000003f0| 20 65 72 72 20 3d 3d 20 | 6e 6f 45 72 72 20 29 20 | err == |noErr ) |
|00000400| 7b 0d 09 09 65 72 72 20 | 3d 20 52 65 61 64 52 65 |{...err |= ReadRe|
|00000410| 67 69 73 74 65 72 41 72 | 72 61 79 28 20 69 6e 64 |gisterAr|ray( ind|
|00000420| 61 74 61 2c 20 69 6e 72 | 65 67 69 73 74 65 72 73 |ata, inr|egisters|
|00000430| 20 29 3b 0d 09 09 69 66 | 20 28 20 65 72 72 20 3d | );...if| ( err =|
|00000440| 3d 20 6e 6f 45 72 72 20 | 29 20 7b 0d 09 09 09 65 |= noErr |) {....e|
|00000450| 72 72 20 3d 20 52 65 61 | 64 52 65 67 69 73 74 65 |rr = Rea|dRegiste|
|00000460| 72 41 72 72 61 79 28 20 | 69 6e 64 61 74 61 2c 20 |rArray( |indata, |
|00000470| 6f 75 74 72 65 67 69 73 | 74 65 72 73 20 29 3b 0d |outregis|ters );.|
|00000480| 09 09 7d 0d 09 09 69 66 | 20 28 20 65 72 72 20 3d |..}...if| ( err =|
|00000490| 3d 20 6e 6f 45 72 72 20 | 29 20 7b 0d 09 09 09 49 |= noErr |) {....I|
|000004a0| 6e 74 65 72 70 72 65 74 | 28 20 69 6e 64 61 74 61 |nterpret|( indata|
|000004b0| 2c 20 69 6e 72 65 67 69 | 73 74 65 72 73 20 29 3b |, inregi|sters );|
|000004c0| 0d 09 09 09 2a 63 6f 72 | 72 65 63 74 20 3d 20 74 |....*cor|rect = t|
|000004d0| 72 75 65 3b 0d 09 09 09 | 66 6f 72 20 28 20 69 6e |rue;....|for ( in|
|000004e0| 74 20 69 20 3d 20 30 3b | 20 69 20 3c 3d 20 32 35 |t i = 0;| i <= 25|
|000004f0| 20 26 26 20 2a 63 6f 72 | 72 65 63 74 3b 20 69 2b | && *cor|rect; i+|
|00000500| 2b 20 29 20 7b 0d 09 09 | 09 09 2a 63 6f 72 72 65 |+ ) {...|..*corre|
|00000510| 63 74 20 3d 20 28 69 6e | 72 65 67 69 73 74 65 72 |ct = (in|register|
|00000520| 73 5b 69 5d 20 3d 3d 20 | 6f 75 74 72 65 67 69 73 |s[i] == |outregis|
|00000530| 74 65 72 73 5b 69 5d 29 | 3b 0d 09 09 09 7d 0d 09 |ters[i])|;....}..|
|00000540| 09 7d 0d 09 09 44 69 73 | 70 6f 73 65 48 61 6e 64 |.}...Dis|poseHand|
|00000550| 6c 65 28 20 69 6e 64 61 | 74 61 20 29 3b 0d 09 7d |le( inda|ta );..}|
|00000560| 0d 09 72 65 74 75 72 6e | 20 65 72 72 3b 0d 7d 0d |..return| err;.}.|
|00000570| 0d 69 6e 74 20 6d 61 69 | 6e 28 29 0d 7b 0d 09 70 |.int mai|n().{..p|
|00000580| 72 69 6e 74 66 28 20 22 | 53 74 61 72 74 69 6e 67 |rintf( "|Starting|
|00000590| 5c 6e 22 20 29 3b 0d 09 | 0d 09 50 72 6f 62 6c 65 |\n" );..|..Proble|
|000005a0| 6d 52 75 6e 53 69 6e 67 | 6c 65 46 69 6c 65 54 65 |mRunSing|leFileTe|
|000005b0| 73 74 73 28 20 43 68 65 | 63 6b 49 6e 74 65 72 70 |sts( Che|ckInterp|
|000005c0| 72 65 74 65 72 20 29 3b | 0d 0d 09 72 65 74 75 72 |reter );|...retur|
|000005d0| 6e 20 30 3b 0d 7d 0d 00 | 00 00 00 00 00 00 00 00 |n 0;.}..|........|
|000005e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000005f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000600| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00000610| 2b 30 38 30 30 31 35 3a | 35 35 3a 33 32 20 31 39 |+080015:|55:32 19|
|00000620| 39 38 00 00 00 00 00 00 | 00 00 b1 78 6a 77 00 00 |98......|...xjw..|
|00000630| 07 4d 61 69 6e 2e 63 70 | 65 64 20 4d 61 63 48 61 |.Main.cp|ed MacHa|
|00000640| 63 6b 20 43 6f 6e 74 65 | 73 74 31 2e 73 69 74 69 |ck Conte|st1.siti|
|00000650| 02 4a 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |.JPartSI|T!......|
|00000660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000670| 00 00 b1 b0 40 91 00 00 | 00 00 00 00 01 9a 00 00 |....@...|........|
|00000680| 00 00 29 bc 7f 92 00 00 | 00 00 20 52 65 3a 20 46 |..).....|.. Re: F|
|00000690| 6f 6c 64 65 72 20 48 69 | 65 72 61 72 63 68 79 20 |older Hi|erarchy |
|000006a0| 44 75 70 6c 69 63 61 74 | 69 6f 6e 0d 00 00 00 00 |Duplicat|ion.....|
|000006b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006c0| 00 00 00 00 00 00 00 00 | 00 04 36 35 37 a4 00 00 |........|..657...|
|000006d0| 00 00 00 00 00 00 00 00 | 00 01 be ab 00 00 05 f2 |........|........|
|000006e0| 00 00 02 90 02 07 31 32 | 2f 35 2f 39 38 34 30 30 |......12|/5/98400|
|000006f0| 30 32 31 3a 30 31 3a 35 | 36 20 31 39 39 38 00 00 |021:01:5|6 1998..|
|00000700| 00 00 00 48 00 0a 47 65 | 6e 65 76 61 00 00 00 00 |...H..Ge|neva....|
|00000710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000720| 00 00 00 00 00 00 00 02 | 00 02 00 47 00 b1 02 5b |........|...G...[|
|00000730| 03 07 00 47 00 b1 02 5b | 03 07 b1 a0 88 d2 00 00 |...G...[|........|
|00000740| 00 0a 00 00 00 14 00 00 | 00 00 01 00 00 00 00 04 |........|........|
|00000750| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00000760| 00 00 00 46 05 7b 83 48 | 42 1a 00 00 00 1c 00 46 |...F.{.H|B......F|
|00000770| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00000780| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00000790| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000007a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000007f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+