home *** CD-ROM | disk | FTP | other *** search
/ Sams Teach Yourself C in 21 Days (6th Edition) / STYC216E.ISO / mac / Examples / Day15 / sort.c < prev    next >
MacBinary  |  2002-05-12  |  2.1 KB  |  [TEXT/LMAN]

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
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, Sun May 12 12:10:56 2002, modified Sun May 12 12:10:56 2002, creator 'LMAN', type ASCII, 1560 bytes "sort.c" , at 0x698 286 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-4K) default (weak)
16% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[LMAN]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 06 73 6f 72 74 2e 63 | 00 00 00 00 00 00 00 00 |..sort.c|........|
|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 4c 4d 41 | 4e 00 00 ff ff ff ff 00 |.TEXTLMA|N.......|
|00000050| 00 00 00 00 00 06 18 00 | 00 01 1e b9 04 44 90 b9 |........|.....D..|
|00000060| 04 44 90 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |.D......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 fc 4f 00 00 |........|.....O..|
|00000080| 2f 2a 20 49 6e 70 75 74 | 73 20 61 20 6c 69 73 74 |/* Input|s a list|
|00000090| 20 6f 66 20 73 74 72 69 | 6e 67 73 20 66 72 6f 6d | of stri|ngs from|
|000000a0| 20 74 68 65 20 6b 65 79 | 62 6f 61 72 64 2c 20 73 | the key|board, s|
|000000b0| 6f 72 74 73 20 74 68 65 | 6d 2c 20 2a 2f 0d 0a 2f |orts the|m, */../|
|000000c0| 2a 20 61 6e 64 20 74 68 | 65 6e 20 64 69 73 70 6c |* and th|en displ|
|000000d0| 61 79 73 20 74 68 65 6d | 20 6f 6e 20 74 68 65 20 |ays them| on the |
|000000e0| 73 63 72 65 65 6e 2e 20 | 2a 2f 0d 0a 23 69 6e 63 |screen. |*/..#inc|
|000000f0| 6c 75 64 65 20 3c 73 74 | 64 6c 69 62 2e 68 3e 0d |lude <st|dlib.h>.|
|00000100| 0a 23 69 6e 63 6c 75 64 | 65 20 3c 73 74 64 69 6f |.#includ|e <stdio|
|00000110| 2e 68 3e 0d 0a 23 69 6e | 63 6c 75 64 65 20 3c 73 |.h>..#in|clude <s|
|00000120| 74 72 69 6e 67 2e 68 3e | 0d 0a 0d 0a 23 64 65 66 |tring.h>|....#def|
|00000130| 69 6e 65 20 4d 41 58 4c | 49 4e 45 53 20 32 35 0d |ine MAXL|INES 25.|
|00000140| 0a 0d 0a 69 6e 74 20 67 | 65 74 5f 6c 69 6e 65 73 |...int g|et_lines|
|00000150| 28 63 68 61 72 20 2a 6c | 69 6e 65 73 5b 5d 29 3b |(char *l|ines[]);|
|00000160| 0d 0a 76 6f 69 64 20 73 | 6f 72 74 28 63 68 61 72 |..void s|ort(char|
|00000170| 20 2a 70 5b 5d 2c 20 69 | 6e 74 20 6e 29 3b 0d 0a | *p[], i|nt n);..|
|00000180| 76 6f 69 64 20 70 72 69 | 6e 74 5f 73 74 72 69 6e |void pri|nt_strin|
|00000190| 67 73 28 63 68 61 72 20 | 2a 70 5b 5d 2c 20 69 6e |gs(char |*p[], in|
|000001a0| 74 20 6e 29 3b 0d 0a 0d | 0a 63 68 61 72 20 2a 6c |t n);...|.char *l|
|000001b0| 69 6e 65 73 5b 4d 41 58 | 4c 49 4e 45 53 5d 3b 0d |ines[MAX|LINES];.|
|000001c0| 0a 0d 0a 69 6e 74 20 6d | 61 69 6e 28 20 76 6f 69 |...int m|ain( voi|
|000001d0| 64 20 29 0d 0a 7b 0d 0a | 20 20 20 69 6e 74 20 6e |d )..{..| int n|
|000001e0| 75 6d 62 65 72 5f 6f 66 | 5f 6c 69 6e 65 73 3b 0d |umber_of|_lines;.|
|000001f0| 0a 0d 0a 20 20 20 2f 2a | 20 52 65 61 64 20 69 6e |... /*| Read in|
|00000200| 20 74 68 65 20 6c 69 6e | 65 73 20 66 72 6f 6d 20 | the lin|es from |
|00000210| 74 68 65 20 6b 65 79 62 | 6f 61 72 64 2e 20 2a 2f |the keyb|oard. */|
|00000220| 0d 0a 0d 0a 20 20 20 6e | 75 6d 62 65 72 5f 6f 66 |.... n|umber_of|
|00000230| 5f 6c 69 6e 65 73 20 3d | 20 67 65 74 5f 6c 69 6e |_lines =| get_lin|
|00000240| 65 73 28 6c 69 6e 65 73 | 29 3b 0d 0a 0d 0a 20 20 |es(lines|);.... |
|00000250| 20 69 66 20 28 20 6e 75 | 6d 62 65 72 5f 6f 66 5f | if ( nu|mber_of_|
|00000260| 6c 69 6e 65 73 20 3c 20 | 30 20 29 0d 0a 20 20 20 |lines < |0 ).. |
|00000270| 7b 0d 0a 20 20 20 20 20 | 20 20 70 75 74 73 28 22 |{.. | puts("|
|00000280| 20 4d 65 6d 6f 72 79 20 | 61 6c 6c 6f 63 61 74 69 | Memory |allocati|
|00000290| 6f 6e 20 65 72 72 6f 72 | 22 29 3b 0d 0a 20 20 20 |on error|");.. |
|000002a0| 20 20 20 20 65 78 69 74 | 28 2d 31 29 3b 0d 0a 20 | exit|(-1);.. |
|000002b0| 20 20 7d 0d 0a 0d 0a 20 | 20 20 73 6f 72 74 28 6c | }.... | sort(l|
|000002c0| 69 6e 65 73 2c 20 6e 75 | 6d 62 65 72 5f 6f 66 5f |ines, nu|mber_of_|
|000002d0| 6c 69 6e 65 73 29 3b 0d | 0a 20 20 20 70 72 69 6e |lines);.|. prin|
|000002e0| 74 5f 73 74 72 69 6e 67 | 73 28 6c 69 6e 65 73 2c |t_string|s(lines,|
|000002f0| 20 6e 75 6d 62 65 72 5f | 6f 66 5f 6c 69 6e 65 73 | number_|of_lines|
|00000300| 29 3b 0d 0a 20 20 20 72 | 65 74 75 72 6e 20 30 3b |);.. r|eturn 0;|
|00000310| 0d 0a 7d 0d 0a 0d 0a 69 | 6e 74 20 67 65 74 5f 6c |..}....i|nt get_l|
|00000320| 69 6e 65 73 28 63 68 61 | 72 20 2a 6c 69 6e 65 73 |ines(cha|r *lines|
|00000330| 5b 5d 29 0d 0a 7b 0d 0a | 20 20 20 69 6e 74 20 6e |[])..{..| int n|
|00000340| 20 3d 20 30 3b 0d 0a 20 | 20 20 63 68 61 72 20 62 | = 0;.. | char b|
|00000350| 75 66 66 65 72 5b 38 30 | 5d 3b 20 20 2f 2a 20 54 |uffer[80|]; /* T|
|00000360| 65 6d 70 6f 72 61 72 79 | 20 73 74 6f 72 61 67 65 |emporary| storage|
|00000370| 20 66 6f 72 20 65 61 63 | 68 20 6c 69 6e 65 2e 20 | for eac|h line. |
|00000380| 2a 2f 0d 0a 0d 0a 20 20 | 20 70 75 74 73 28 22 45 |*/.... | puts("E|
|00000390| 6e 74 65 72 20 6f 6e 65 | 20 6c 69 6e 65 20 61 74 |nter one| line at|
|000003a0| 20 74 69 6d 65 3b 20 65 | 6e 74 65 72 20 61 20 62 | time; e|nter a b|
|000003b0| 6c 61 6e 6b 20 77 68 65 | 6e 20 64 6f 6e 65 2e 22 |lank whe|n done."|
|000003c0| 29 3b 0d 0a 0d 0a 20 20 | 20 77 68 69 6c 65 20 28 |);.... | while (|
|000003d0| 28 6e 20 3c 20 4d 41 58 | 4c 49 4e 45 53 29 20 26 |(n < MAX|LINES) &|
|000003e0| 26 20 28 67 65 74 73 28 | 62 75 66 66 65 72 29 20 |& (gets(|buffer) |
|000003f0| 21 3d 20 30 29 20 26 26 | 0d 0a 20 20 20 20 20 20 |!= 0) &&|.. |
|00000400| 20 20 20 20 28 62 75 66 | 66 65 72 5b 30 5d 20 21 | (buf|fer[0] !|
|00000410| 3d 20 27 5c 30 27 29 29 | 0d 0a 20 20 20 7b 0d 0a |= '\0'))|.. {..|
|00000420| 20 20 20 20 20 20 20 69 | 66 20 28 28 6c 69 6e 65 | i|f ((line|
|00000430| 73 5b 6e 5d 20 3d 20 28 | 63 68 61 72 20 2a 29 6d |s[n] = (|char *)m|
|00000440| 61 6c 6c 6f 63 28 73 74 | 72 6c 65 6e 28 62 75 66 |alloc(st|rlen(buf|
|00000450| 66 65 72 29 2b 31 29 29 | 20 3d 3d 20 4e 55 4c 4c |fer)+1))| == NULL|
|00000460| 29 0d 0a 20 20 20 20 20 | 20 20 20 20 20 20 72 65 |).. | re|
|00000470| 74 75 72 6e 20 2d 31 3b | 0d 0a 20 20 20 20 20 20 |turn -1;|.. |
|00000480| 20 73 74 72 63 70 79 28 | 20 6c 69 6e 65 73 5b 6e | strcpy(| lines[n|
|00000490| 2b 2b 5d 2c 20 62 75 66 | 66 65 72 20 29 3b 0d 0a |++], buf|fer );..|
|000004a0| 20 20 20 7d 0d 0a 20 20 | 20 72 65 74 75 72 6e 20 | }.. | return |
|000004b0| 6e 3b 0d 0a 0d 0a 7d 20 | 2f 2a 20 45 6e 64 20 6f |n;....} |/* End o|
|000004c0| 66 20 67 65 74 5f 6c 69 | 6e 65 73 28 29 20 2a 2f |f get_li|nes() */|
|000004d0| 0d 0a 0d 0a 76 6f 69 64 | 20 73 6f 72 74 28 63 68 |....void| sort(ch|
|000004e0| 61 72 20 2a 70 5b 5d 2c | 20 69 6e 74 20 6e 29 0d |ar *p[],| int n).|
|000004f0| 0a 7b 0d 0a 20 20 20 69 | 6e 74 20 61 2c 20 62 3b |.{.. i|nt a, b;|
|00000500| 0d 0a 20 20 20 63 68 61 | 72 20 2a 78 3b 0d 0a 0d |.. cha|r *x;...|
|00000510| 0a 20 20 20 66 6f 72 20 | 28 61 20 3d 20 31 3b 20 |. for |(a = 1; |
|00000520| 61 20 3c 20 6e 3b 20 61 | 2b 2b 29 0d 0a 20 20 20 |a < n; a|++).. |
|00000530| 7b 0d 0a 20 20 20 20 20 | 20 20 66 6f 72 20 28 62 |{.. | for (b|
|00000540| 20 3d 20 30 3b 20 62 20 | 3c 20 6e 2d 31 3b 20 62 | = 0; b |< n-1; b|
|00000550| 2b 2b 29 0d 0a 20 20 20 | 20 20 20 20 7b 0d 0a 20 |++).. | {.. |
|00000560| 20 20 20 20 20 20 20 20 | 20 20 69 66 20 28 73 74 | | if (st|
|00000570| 72 63 6d 70 28 70 5b 62 | 5d 2c 20 70 5b 62 2b 31 |rcmp(p[b|], p[b+1|
|00000580| 5d 29 20 3e 20 30 29 0d | 0a 20 20 20 20 20 20 20 |]) > 0).|. |
|00000590| 20 20 20 20 7b 0d 0a 20 | 20 20 20 20 20 20 20 20 | {.. | |
|000005a0| 20 20 20 20 20 20 78 20 | 3d 20 70 5b 62 5d 3b 0d | x |= p[b];.|
|000005b0| 0a 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|000005c0| 70 5b 62 5d 20 3d 20 70 | 5b 62 2b 31 5d 3b 0d 0a |p[b] = p|[b+1];..|
|000005d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 70 | | p|
|000005e0| 5b 62 2b 31 5d 20 3d 20 | 78 3b 0d 0a 20 20 20 20 |[b+1] = |x;.. |
|000005f0| 20 20 20 20 20 20 20 7d | 0d 0a 20 20 20 20 20 20 | }|.. |
|00000600| 20 7d 0d 0a 20 20 20 7d | 0d 0a 7d 0d 0a 0d 0a 76 | }.. }|..}....v|
|00000610| 6f 69 64 20 70 72 69 6e | 74 5f 73 74 72 69 6e 67 |oid prin|t_string|
|00000620| 73 28 63 68 61 72 20 2a | 70 5b 5d 2c 20 69 6e 74 |s(char *|p[], int|
|00000630| 20 6e 29 0d 0a 7b 0d 0a | 20 20 20 69 6e 74 20 63 | n)..{..| int c|
|00000640| 6f 75 6e 74 3b 0d 0a 0d | 0a 20 20 20 66 6f 72 20 |ount;...|. for |
|00000650| 28 63 6f 75 6e 74 20 3d | 20 30 3b 20 63 6f 75 6e |(count =| 0; coun|
|00000660| 74 20 3c 20 6e 3b 20 63 | 6f 75 6e 74 2b 2b 29 0d |t < n; c|ount++).|
|00000670| 0a 20 20 20 20 20 20 20 | 70 72 69 6e 74 66 28 22 |. |printf("|
|00000680| 25 73 5c 6e 22 2c 20 70 | 5b 63 6f 75 6e 74 5d 29 |%s\n", p|[count])|
|00000690| 3b 0d 0a 7d 0d 0a 0d 0a | 00 00 00 00 00 00 00 00 |;..}....|........|
|000006a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|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 00 00 00 00 00 00 00 |........|........|
|000006d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000006f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000700| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000710| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|00000720| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|00000730| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|00000740| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000750| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000760| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000770| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000780| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000790| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|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 |........|........|
|00000800| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00000810| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00000820| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000830| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000840| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000850| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000860| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000870| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+