From 39ab7b1e16d1788ff7d07646de589edef7226c0a Mon Sep 17 00:00:00 2001 From: Konstantin Kalbazov Date: Mon, 5 Nov 2012 01:30:56 +0400 Subject: [PATCH 1/2] Initial commit Initial commit of project files --- DNA/DNA.xcodeproj/project.pbxproj | 217 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 9272 bytes .../kote.xcuserdatad/xcschemes/DNA.xcscheme | 86 +++++++ .../xcschemes/xcschememanagement.plist | 22 ++ DNA/DNA/DNA.1 | 79 +++++++ DNA/DNA/main.c | 18 ++ 7 files changed, 429 insertions(+) create mode 100644 DNA/DNA.xcodeproj/project.pbxproj create mode 100644 DNA/DNA.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/kote.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/DNA.xcscheme create mode 100644 DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 DNA/DNA/DNA.1 create mode 100644 DNA/DNA/main.c diff --git a/DNA/DNA.xcodeproj/project.pbxproj b/DNA/DNA.xcodeproj/project.pbxproj new file mode 100644 index 00000000..d78476cc --- /dev/null +++ b/DNA/DNA.xcodeproj/project.pbxproj @@ -0,0 +1,217 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 85F5BCE3164715C500915D77 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 85F5BCE2164715C500915D77 /* main.c */; }; + 85F5BCE5164715C500915D77 /* DNA.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85F5BCE4164715C500915D77 /* DNA.1 */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 85F5BCDC164715C500915D77 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + 85F5BCE5164715C500915D77 /* DNA.1 in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 85F5BCDE164715C500915D77 /* DNA */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = DNA; sourceTree = BUILT_PRODUCTS_DIR; }; + 85F5BCE2164715C500915D77 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; + 85F5BCE4164715C500915D77 /* DNA.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = DNA.1; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 85F5BCDB164715C500915D77 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 85F5BCD3164715C500915D77 = { + isa = PBXGroup; + children = ( + 85F5BCE1164715C500915D77 /* DNA */, + 85F5BCDF164715C500915D77 /* Products */, + ); + sourceTree = ""; + }; + 85F5BCDF164715C500915D77 /* Products */ = { + isa = PBXGroup; + children = ( + 85F5BCDE164715C500915D77 /* DNA */, + ); + name = Products; + sourceTree = ""; + }; + 85F5BCE1164715C500915D77 /* DNA */ = { + isa = PBXGroup; + children = ( + 85F5BCE2164715C500915D77 /* main.c */, + 85F5BCE4164715C500915D77 /* DNA.1 */, + ); + path = DNA; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 85F5BCDD164715C500915D77 /* DNA */ = { + isa = PBXNativeTarget; + buildConfigurationList = 85F5BCE8164715C500915D77 /* Build configuration list for PBXNativeTarget "DNA" */; + buildPhases = ( + 85F5BCDA164715C500915D77 /* Sources */, + 85F5BCDB164715C500915D77 /* Frameworks */, + 85F5BCDC164715C500915D77 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DNA; + productName = DNA; + productReference = 85F5BCDE164715C500915D77 /* DNA */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 85F5BCD5164715C500915D77 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = Kote; + }; + buildConfigurationList = 85F5BCD8164715C500915D77 /* Build configuration list for PBXProject "DNA" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 85F5BCD3164715C500915D77; + productRefGroup = 85F5BCDF164715C500915D77 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 85F5BCDD164715C500915D77 /* DNA */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 85F5BCDA164715C500915D77 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 85F5BCE3164715C500915D77 /* main.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 85F5BCE6164715C500915D77 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 85F5BCE7164715C500915D77 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 85F5BCE9164715C500915D77 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 85F5BCEA164715C500915D77 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 85F5BCD8164715C500915D77 /* Build configuration list for PBXProject "DNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 85F5BCE6164715C500915D77 /* Debug */, + 85F5BCE7164715C500915D77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 85F5BCE8164715C500915D77 /* Build configuration list for PBXNativeTarget "DNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 85F5BCE9164715C500915D77 /* Debug */, + 85F5BCEA164715C500915D77 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 85F5BCD5164715C500915D77 /* Project object */; +} diff --git a/DNA/DNA.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/DNA/DNA.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..f6feef27 --- /dev/null +++ b/DNA/DNA.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/kote.xcuserdatad/UserInterfaceState.xcuserstate b/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/kote.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..1f38cae1013035fd1c1e0308efc40334a0e0e632 GIT binary patch literal 9272 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 literal 0 HcmV?d00001 diff --git a/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/DNA.xcscheme b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/DNA.xcscheme new file mode 100644 index 00000000..1131a8c5 --- /dev/null +++ b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/DNA.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/xcschememanagement.plist b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..c187fc2b --- /dev/null +++ b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + DNA.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 85F5BCDD164715C500915D77 + + primary + + + + + diff --git a/DNA/DNA/DNA.1 b/DNA/DNA/DNA.1 new file mode 100644 index 00000000..7b3e6087 --- /dev/null +++ b/DNA/DNA/DNA.1 @@ -0,0 +1,79 @@ +.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. +.\"See Also: +.\"man mdoc.samples for a complete listing of options +.\"man mdoc for the short list of editing options +.\"/usr/share/misc/mdoc.template +.Dd 11/5/12 \" DATE +.Dt DNA 1 \" Program name and manual section number +.Os Darwin +.Sh NAME \" Section Header - required - don't modify +.Nm DNA, +.\" The following lines are read in generating the apropos(man -k) database. Use only key +.\" words here as the database is built based on the words here and in the .ND line. +.Nm Other_name_for_same_program(), +.Nm Yet another name for the same program. +.\" Use .Nm macro to designate other names for the documented program. +.Nd This line parsed for whatis database. +.Sh SYNOPSIS \" Section Header - required - don't modify +.Nm +.Op Fl abcd \" [-abcd] +.Op Fl a Ar path \" [-a path] +.Op Ar file \" [file] +.Op Ar \" [file ...] +.Ar arg0 \" Underlined argument - use .Ar anywhere to underline +arg2 ... \" Arguments +.Sh DESCRIPTION \" Section Header - required - don't modify +Use the .Nm macro to refer to your program throughout the man page like such: +.Nm +Underlining is accomplished with the .Ar macro like this: +.Ar underlined text . +.Pp \" Inserts a space +A list of items with descriptions: +.Bl -tag -width -indent \" Begins a tagged list +.It item a \" Each item preceded by .It macro +Description of item a +.It item b +Description of item b +.El \" Ends the list +.Pp +A list of flags and their descriptions: +.Bl -tag -width -indent \" Differs from above in tag removed +.It Fl a \"-a flag as a list item +Description of -a flag +.It Fl b +Description of -b flag +.El \" Ends the list +.Pp +.\" .Sh ENVIRONMENT \" May not be needed +.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1 +.\" .It Ev ENV_VAR_1 +.\" Description of ENV_VAR_1 +.\" .It Ev ENV_VAR_2 +.\" Description of ENV_VAR_2 +.\" .El +.Sh FILES \" File used or created by the topic of the man page +.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact +.It Pa /usr/share/file_name +FILE_1 description +.It Pa /Users/joeuser/Library/really_long_file_name +FILE_2 description +.El \" Ends the list +.\" .Sh DIAGNOSTICS \" May not be needed +.\" .Bl -diag +.\" .It Diagnostic Tag +.\" Diagnostic informtion here. +.\" .It Diagnostic Tag +.\" Diagnostic informtion here. +.\" .El +.Sh SEE ALSO +.\" List links in ascending order by section, alphabetically within a section. +.\" Please do not reference files that do not exist without filing a bug report +.Xr a 1 , +.Xr b 1 , +.Xr c 1 , +.Xr a 2 , +.Xr b 2 , +.Xr a 3 , +.Xr b 3 +.\" .Sh BUGS \" Document known, unremedied bugs +.\" .Sh HISTORY \" Document history if command behaves in a unique manner \ No newline at end of file diff --git a/DNA/DNA/main.c b/DNA/DNA/main.c new file mode 100644 index 00000000..e7421c58 --- /dev/null +++ b/DNA/DNA/main.c @@ -0,0 +1,18 @@ +// +// main.c +// DNA +// +// Created by Kote on 11/5/12. +// Copyright (c) 2012 Kote. All rights reserved. +// + +#include + +int main(int argc, const char * argv[]) +{ + + // insert code here... + printf("Hello, World!\n"); + return 0; +} + From 2d9f7f587fcd25a664e01976a83b94465884913e Mon Sep 17 00:00:00 2001 From: Konstantin Kalbazov Date: Mon, 5 Nov 2012 20:01:01 +0400 Subject: [PATCH 2/2] First working solution --- DNA/DNA.xcodeproj/project.pbxproj | 14 +++- .../UserInterfaceState.xcuserstate | Bin 9272 -> 14464 bytes .../xcdebugger/Breakpoints.xcbkptlist | 5 ++ DNA/DNA/Cell.h | 18 ++++ DNA/DNA/Cell.m | 77 ++++++++++++++++++ DNA/DNA/main.c | 18 ---- DNA/DNA/main.m | 28 +++++++ 7 files changed, 138 insertions(+), 22 deletions(-) create mode 100644 DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 DNA/DNA/Cell.h create mode 100644 DNA/DNA/Cell.m delete mode 100644 DNA/DNA/main.c create mode 100644 DNA/DNA/main.m diff --git a/DNA/DNA.xcodeproj/project.pbxproj b/DNA/DNA.xcodeproj/project.pbxproj index d78476cc..b90da3cd 100644 --- a/DNA/DNA.xcodeproj/project.pbxproj +++ b/DNA/DNA.xcodeproj/project.pbxproj @@ -7,8 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - 85F5BCE3164715C500915D77 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 85F5BCE2164715C500915D77 /* main.c */; }; + 85F5BCE3164715C500915D77 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 85F5BCE2164715C500915D77 /* main.m */; }; 85F5BCE5164715C500915D77 /* DNA.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 85F5BCE4164715C500915D77 /* DNA.1 */; }; + 85F5BCED164716D700915D77 /* Cell.m in Sources */ = {isa = PBXBuildFile; fileRef = 85F5BCEC164716D700915D77 /* Cell.m */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -26,8 +27,10 @@ /* Begin PBXFileReference section */ 85F5BCDE164715C500915D77 /* DNA */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = DNA; sourceTree = BUILT_PRODUCTS_DIR; }; - 85F5BCE2164715C500915D77 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; + 85F5BCE2164715C500915D77 /* main.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 85F5BCE4164715C500915D77 /* DNA.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = DNA.1; sourceTree = ""; }; + 85F5BCEB164716D700915D77 /* Cell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Cell.h; sourceTree = ""; }; + 85F5BCEC164716D700915D77 /* Cell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Cell.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -60,8 +63,10 @@ 85F5BCE1164715C500915D77 /* DNA */ = { isa = PBXGroup; children = ( - 85F5BCE2164715C500915D77 /* main.c */, + 85F5BCE2164715C500915D77 /* main.m */, 85F5BCE4164715C500915D77 /* DNA.1 */, + 85F5BCEB164716D700915D77 /* Cell.h */, + 85F5BCEC164716D700915D77 /* Cell.m */, ); path = DNA; sourceTree = ""; @@ -117,7 +122,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 85F5BCE3164715C500915D77 /* main.c in Sources */, + 85F5BCE3164715C500915D77 /* main.m in Sources */, + 85F5BCED164716D700915D77 /* Cell.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/kote.xcuserdatad/UserInterfaceState.xcuserstate b/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/kote.xcuserdatad/UserInterfaceState.xcuserstate index 1f38cae1013035fd1c1e0308efc40334a0e0e632..4bb4773e0359d9635292d92aa8d07c4013410cb2 100644 GIT binary patch literal 14464 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 T>pLZe*l_0tHQd8j|MdR@A>iaF diff --git a/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 00000000..05301bc2 --- /dev/null +++ b/DNA/DNA.xcodeproj/xcuserdata/kote.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/DNA/DNA/Cell.h b/DNA/DNA/Cell.h new file mode 100644 index 00000000..44edc1cb --- /dev/null +++ b/DNA/DNA/Cell.h @@ -0,0 +1,18 @@ + +#import + +@interface Cell : NSObject +{ + NSMutableArray *dna; +} + +- (unsigned) hammingDistance: (Cell*) cell; + +@end + + +@interface Cell (Mutator) + +- (void) mutate: (unsigned) percentage; + +@end \ No newline at end of file diff --git a/DNA/DNA/Cell.m b/DNA/DNA/Cell.m new file mode 100644 index 00000000..4fb35291 --- /dev/null +++ b/DNA/DNA/Cell.m @@ -0,0 +1,77 @@ + +#import +#import "Cell.h" + +NSString * const DNAItems[4] = { @"A", @"T", @"G", @"C" }; +const unsigned maxItemsNumber = 100; + +@implementation Cell + +- (id) init { + + self = [super init]; + + if(self) { + dna = [[NSMutableArray alloc] initWithCapacity: maxItemsNumber]; + + for(int i = 0; i < maxItemsNumber; i++) { + [dna addObject: DNAItems[arc4random() % 4]]; + } + } + + return self; +} + +- (unsigned) hammingDistance: (Cell *) cell { + + unsigned dist = 0; + + for (unsigned i = 0; i < maxItemsNumber; i++) { + if([dna objectAtIndex: i] != [cell->dna objectAtIndex: i]) + dist++; + } + + return dist; +} + +- (NSString*) description +{ + return [dna componentsJoinedByString: @""]; +} + +@end + + +@implementation Cell (Mutator) + +- (void) mutate: (unsigned) percentage { + + if(percentage <= 0 || percentage > 100) + return; + + unsigned position; + NSMutableArray * changedPositions = [[NSMutableArray alloc] init]; + NSString * newValue; + + percentage = round(maxItemsNumber / 100 * percentage); + + for (unsigned i = 0; i < maxItemsNumber; i++) { + + position = arc4random() % maxItemsNumber; + + while ([changedPositions containsObject:[NSNumber numberWithInt: position]]) { + position = arc4random() % maxItemsNumber; + } + + newValue = DNAItems[arc4random() % 4]; + + while ([dna[position] isEqualTo: newValue]) { + newValue = DNAItems[arc4random() % 4]; + } + + [dna replaceObjectAtIndex: position withObject: newValue]; + } + +} + +@end diff --git a/DNA/DNA/main.c b/DNA/DNA/main.c deleted file mode 100644 index e7421c58..00000000 --- a/DNA/DNA/main.c +++ /dev/null @@ -1,18 +0,0 @@ -// -// main.c -// DNA -// -// Created by Kote on 11/5/12. -// Copyright (c) 2012 Kote. All rights reserved. -// - -#include - -int main(int argc, const char * argv[]) -{ - - // insert code here... - printf("Hello, World!\n"); - return 0; -} - diff --git a/DNA/DNA/main.m b/DNA/DNA/main.m new file mode 100644 index 00000000..8b211cf4 --- /dev/null +++ b/DNA/DNA/main.m @@ -0,0 +1,28 @@ + +#import +#import "Cell.h" + +int main(int argc, const char * argv[]) +{ + @autoreleasepool { + + Cell *c1 = [[Cell alloc] init]; + Cell *c2 = [[Cell alloc] init]; + + NSLog(@"%@", c1); + NSLog(@"%@", c2); + NSLog(@"hamming distance: %u", [c1 hammingDistance: c2]); + + unsigned mutationPercent1 = 77, mutationPercent2 = 25; + + [c1 mutate: mutationPercent1]; + [c1 mutate: mutationPercent2]; + + NSLog(@"After Mutating..."); + + NSLog(@"%@", c1); + NSLog(@"%@", c2); + NSLog(@"hamming distance: %u", [c1 hammingDistance: c2]); + } +} +