From e15b0d8516e04d92925d934fd9d28484824f8f0b Mon Sep 17 00:00:00 2001 From: KoD4K Date: Tue, 13 Nov 2012 08:11:17 +0400 Subject: [PATCH 1/5] FINAL --- DNA/DNA.xcodeproj/project.pbxproj | 257 ++++++++++++++++++++++++++++++ DNA/DNA/DNA-Prefix.pch | 7 + DNA/DNA/DNA.1 | 79 +++++++++ DNA/DNA/Entities/Cell.h | 22 +++ DNA/DNA/Entities/Cell.m | 43 +++++ DNA/DNA/main.m | 52 ++++++ 6 files changed, 460 insertions(+) create mode 100644 DNA/DNA.xcodeproj/project.pbxproj create mode 100644 DNA/DNA/DNA-Prefix.pch create mode 100644 DNA/DNA/DNA.1 create mode 100644 DNA/DNA/Entities/Cell.h create mode 100644 DNA/DNA/Entities/Cell.m create mode 100644 DNA/DNA/main.m diff --git a/DNA/DNA.xcodeproj/project.pbxproj b/DNA/DNA.xcodeproj/project.pbxproj new file mode 100644 index 00000000..baeb1bf6 --- /dev/null +++ b/DNA/DNA.xcodeproj/project.pbxproj @@ -0,0 +1,257 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + E9131F58164C3A020048034A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9131F57164C3A020048034A /* Foundation.framework */; }; + E9131F5B164C3A020048034A /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E9131F5A164C3A020048034A /* main.m */; }; + E9131F5F164C3A020048034A /* DNA.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = E9131F5E164C3A020048034A /* DNA.1 */; }; + E9131F67164C3A2B0048034A /* Cell.m in Sources */ = {isa = PBXBuildFile; fileRef = E9131F66164C3A2B0048034A /* Cell.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + E9131F51164C3A020048034A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + E9131F5F164C3A020048034A /* DNA.1 in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + E9131F53164C3A020048034A /* DNA */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = DNA; sourceTree = BUILT_PRODUCTS_DIR; }; + E9131F57164C3A020048034A /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + E9131F5A164C3A020048034A /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + E9131F5D164C3A020048034A /* DNA-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DNA-Prefix.pch"; sourceTree = ""; }; + E9131F5E164C3A020048034A /* DNA.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = DNA.1; sourceTree = ""; }; + E9131F65164C3A2B0048034A /* Cell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Cell.h; path = Entities/Cell.h; sourceTree = ""; }; + E9131F66164C3A2B0048034A /* Cell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = Cell.m; path = Entities/Cell.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E9131F50164C3A020048034A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + E9131F58164C3A020048034A /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + E9131F48164C3A020048034A = { + isa = PBXGroup; + children = ( + E9131F59164C3A020048034A /* DNA */, + E9131F56164C3A020048034A /* Frameworks */, + E9131F54164C3A020048034A /* Products */, + ); + sourceTree = ""; + }; + E9131F54164C3A020048034A /* Products */ = { + isa = PBXGroup; + children = ( + E9131F53164C3A020048034A /* DNA */, + ); + name = Products; + sourceTree = ""; + }; + E9131F56164C3A020048034A /* Frameworks */ = { + isa = PBXGroup; + children = ( + E9131F57164C3A020048034A /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + E9131F59164C3A020048034A /* DNA */ = { + isa = PBXGroup; + children = ( + E9131F68164C3A320048034A /* Entities */, + E9131F5A164C3A020048034A /* main.m */, + E9131F5E164C3A020048034A /* DNA.1 */, + E9131F5C164C3A020048034A /* Supporting Files */, + ); + path = DNA; + sourceTree = ""; + }; + E9131F5C164C3A020048034A /* Supporting Files */ = { + isa = PBXGroup; + children = ( + E9131F5D164C3A020048034A /* DNA-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + E9131F68164C3A320048034A /* Entities */ = { + isa = PBXGroup; + children = ( + E9131F65164C3A2B0048034A /* Cell.h */, + E9131F66164C3A2B0048034A /* Cell.m */, + ); + name = Entities; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E9131F52164C3A020048034A /* DNA */ = { + isa = PBXNativeTarget; + buildConfigurationList = E9131F62164C3A020048034A /* Build configuration list for PBXNativeTarget "DNA" */; + buildPhases = ( + E9131F4F164C3A020048034A /* Sources */, + E9131F50164C3A020048034A /* Frameworks */, + E9131F51164C3A020048034A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = DNA; + productName = DNA; + productReference = E9131F53164C3A020048034A /* DNA */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E9131F4A164C3A020048034A /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = EvgenyPlenkin; + }; + buildConfigurationList = E9131F4D164C3A020048034A /* Build configuration list for PBXProject "DNA" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = E9131F48164C3A020048034A; + productRefGroup = E9131F54164C3A020048034A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E9131F52164C3A020048034A /* DNA */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + E9131F4F164C3A020048034A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E9131F5B164C3A020048034A /* main.m in Sources */, + E9131F67164C3A2B0048034A /* Cell.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + E9131F60164C3A020048034A /* 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.8; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + E9131F61164C3A020048034A /* 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.8; + SDKROOT = macosx; + }; + name = Release; + }; + E9131F63164C3A020048034A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "DNA/DNA-Prefix.pch"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + E9131F64164C3A020048034A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "DNA/DNA-Prefix.pch"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + E9131F4D164C3A020048034A /* Build configuration list for PBXProject "DNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E9131F60164C3A020048034A /* Debug */, + E9131F61164C3A020048034A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E9131F62164C3A020048034A /* Build configuration list for PBXNativeTarget "DNA" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E9131F63164C3A020048034A /* Debug */, + E9131F64164C3A020048034A /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = E9131F4A164C3A020048034A /* Project object */; +} diff --git a/DNA/DNA/DNA-Prefix.pch b/DNA/DNA/DNA-Prefix.pch new file mode 100644 index 00000000..cd50d540 --- /dev/null +++ b/DNA/DNA/DNA-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'DNA' target in the 'DNA' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/DNA/DNA/DNA.1 b/DNA/DNA/DNA.1 new file mode 100644 index 00000000..6a75ffe8 --- /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 08.11.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/Entities/Cell.h b/DNA/DNA/Entities/Cell.h new file mode 100644 index 00000000..b78ce84b --- /dev/null +++ b/DNA/DNA/Entities/Cell.h @@ -0,0 +1,22 @@ +// +// Cell.h +// DNA +// +// Created by Evgeny Plenkin on 08.11.12. +// Copyright (c) 2012 EvgenyPlenkin. All rights reserved. +// + +#import +#include + +@interface Cell : NSObject { + NSMutableArray *checkDNA; + NSArray *letterArray; +} + +@property NSMutableArray *DNA; + +-(int)hammingDistance:(Cell *)cell; +-(void)initCheckDNA; + +@end diff --git a/DNA/DNA/Entities/Cell.m b/DNA/DNA/Entities/Cell.m new file mode 100644 index 00000000..2bda3a05 --- /dev/null +++ b/DNA/DNA/Entities/Cell.m @@ -0,0 +1,43 @@ +// +// Cell.m +// DNA +// +// Created by Evgeny Plenkin on 08.11.12. +// Copyright (c) 2012 EvgenyPlenkin. All rights reserved. +// + +#import "Cell.h" + +@implementation Cell + +-(id)init { + self = [super init]; + _DNA = [[NSMutableArray alloc] init]; + letterArray = [[NSArray alloc] initWithObjects:@"A",@"T",@"G",@"C", nil]; + for (int i = 0; i < 100; i++) { + int random = arc4random() % 3; + [_DNA addObject:[letterArray objectAtIndex:random]]; + } + [self initCheckDNA]; + return self; +} + +-(int)hammingDistance:(Cell *)cell { + int counter = 0; + for (int i = 0; i < 100; i++) { + NSString *tempString = [_DNA objectAtIndex:i]; + if ([tempString compare:[[cell DNA] objectAtIndex:i]]) { + counter++; + } + } + return counter; +} + +-(void)initCheckDNA { + checkDNA = [[NSMutableArray alloc] init]; + for (int i = 0; i < 100; i++) { + [checkDNA addObject:@"NO"]; + } +} + +@end diff --git a/DNA/DNA/main.m b/DNA/DNA/main.m new file mode 100644 index 00000000..dcfa56d0 --- /dev/null +++ b/DNA/DNA/main.m @@ -0,0 +1,52 @@ +// +// main.m +// DNA +// +// Created by Evgeny Plenkin on 08.11.12. +// Copyright (c) 2012 EvgenyPlenkin. All rights reserved. +// + +#import +#import "Cell.h" + +@interface Cell (MutateCell); +-(void)mutate:(int) i; +@end + +@implementation Cell (MutateCell) + +-(void)mutate:(int)percent { + int count = 0; + while (count < percent) { + int random100 = arc4random() % 99; + if ([[checkDNA objectAtIndex:random100] isEqualToString:@"NO"]) { + [checkDNA setObject:@"YES" atIndexedSubscript:random100]; + int random4 = arc4random() % 3; + [[self DNA] setObject:[letterArray objectAtIndex:random4] atIndexedSubscript:random100]; + count++; + } + } + [self initCheckDNA]; +} + +@end + +int main(int argc, const char * argv[]) +{ + + @autoreleasepool { + + Cell *firstCell = [[Cell alloc] init]; + Cell *secondCell = [[Cell alloc] init]; + + NSLog(@"Hamming distance before mutate:%i",[firstCell hammingDistance:secondCell]); + + [firstCell mutate:10]; + [secondCell mutate:35]; + + NSLog(@"Hamming distance after mutate:%i",[firstCell hammingDistance:secondCell]); + + } + return 0; +} + From bf118c7032ed4c1643e0b3b865e765e1f8f33dd2 Mon Sep 17 00:00:00 2001 From: KoD4K Date: Tue, 13 Nov 2012 08:14:15 +0400 Subject: [PATCH 2/5] FINAL --- .DS_Store | Bin 0 -> 6148 bytes DNA/.DS_Store | Bin 0 -> 6148 bytes DNA/.idea/.name | 1 + DNA/.idea/DNA.iml | 11 + DNA/.idea/encodings.xml | 5 + DNA/.idea/misc.xml | 5 + DNA/.idea/modules.xml | 9 + DNA/.idea/scopes/scope_settings.xml | 5 + DNA/.idea/vcs.xml | 7 + DNA/.idea/workspace.xml | 288 ++++++++++++++++++ DNA/.idea/xcode.xml | 5 + .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 14837 bytes .../xcdebugger/Breakpoints.xcbkptlist | 33 ++ .../xcschemes/DNA.xcscheme | 86 ++++++ .../xcschemes/xcschememanagement.plist | 22 ++ 16 files changed, 484 insertions(+) create mode 100644 .DS_Store create mode 100644 DNA/.DS_Store create mode 100644 DNA/.idea/.name create mode 100644 DNA/.idea/DNA.iml create mode 100644 DNA/.idea/encodings.xml create mode 100644 DNA/.idea/misc.xml create mode 100644 DNA/.idea/modules.xml create mode 100644 DNA/.idea/scopes/scope_settings.xml create mode 100644 DNA/.idea/vcs.xml create mode 100644 DNA/.idea/workspace.xml create mode 100644 DNA/.idea/xcode.xml create mode 100644 DNA/DNA.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/DNA.xcscheme create mode 100644 DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e0e8389e53d721337e271ec5b87ebc942998aaeb GIT binary patch literal 6148 zcmeH~Jr2S!425lAKw|00n1usygMiA)!UYf@CL{*Lo}=^pvrw2(g`Oq*i=A3+-_X<| zqTA#s#R_0ewje4njaD#P)yEL4 zdplV2x|(dkXcx`lL-WpRQw&U_U9=#9X>~AA0V*(1U>bR6=l>4=ZT=s$Fr@-i;LjA$ zS%2uac&R*FKVHx3$E@1A!9l+q;q4~?i5{%2~kRnXEf;1;u`CbK>IkQdp|~v z3oLMo?fpM8llzC8`KswV&*tuOw{_Rob-Q_LfcLl8vy$$P*j?ZLz9NKWE_y0M6 znb9JD=n|t~AQ<>(49KKj)k`Mjck8$G^sY^8S8OV3msO!qA3Op$&~xOZEZTZfopzOD VHq + + + + + + + + + + diff --git a/DNA/.idea/encodings.xml b/DNA/.idea/encodings.xml new file mode 100644 index 00000000..e206d70d --- /dev/null +++ b/DNA/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/DNA/.idea/misc.xml b/DNA/.idea/misc.xml new file mode 100644 index 00000000..1162f438 --- /dev/null +++ b/DNA/.idea/misc.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/DNA/.idea/modules.xml b/DNA/.idea/modules.xml new file mode 100644 index 00000000..38f15aea --- /dev/null +++ b/DNA/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/DNA/.idea/scopes/scope_settings.xml b/DNA/.idea/scopes/scope_settings.xml new file mode 100644 index 00000000..922003b8 --- /dev/null +++ b/DNA/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/DNA/.idea/vcs.xml b/DNA/.idea/vcs.xml new file mode 100644 index 00000000..def6a6a1 --- /dev/null +++ b/DNA/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/DNA/.idea/workspace.xml b/DNA/.idea/workspace.xml new file mode 100644 index 00000000..d0913af9 --- /dev/null +++ b/DNA/.idea/workspace.xml @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1352753197494 + 1352753197494 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNA/.idea/xcode.xml b/DNA/.idea/xcode.xml new file mode 100644 index 00000000..c80eabbf --- /dev/null +++ b/DNA/.idea/xcode.xml @@ -0,0 +1,5 @@ + + + + + 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/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate b/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..bc70c237c43071683c574ebe677af9adfcabf8f8 GIT binary patch literal 14837 zcmcgy30zZG*1yXOfrLN^YZf3R5D1d6i2KT_R74a+Txoy^Q6QKE71#URYirfITWbZ> zYOS`l*6y9QYByVL)sAho`!?;gcCVf3;&)yiiNw)Pzu!0W!4LBC-nr+Tcka3Wv)o(T z+T?J1va-%0j0mELLlP9ky~Vv4XR8X~ z6}#?_z|)Zw1*1q5g`$xerK4Ub16hz2Wuh#UjdD<5G#Cv*6{r%8M^$J7szwvhBs3XK zK~vE*RDJPZ%Vc{m>z;9`6e9*xU!1+KzVa4nvJXJR+@;01UgUW6Cp4R|Bogg4_Y zcq`t9x8pl;2kylC@P7OdK7t>{NActM75pkbg-_$x@ay;tK8w%c_wfh#L;Ml`7=MAk z#+UKW1QARK2_j)6oG6KgXo-%*lLV4TjHEZoC4ER=(vS2f14uq8CO47Mq?}ZcDl(Bw zAyY{$nNC{CEYe2W$vm=%EGA3IN^&c?jjSOX$QE)Z*+KS^{p4P9fZRt8lZVJ-{7N|*Mx$sP)lwaer%BXA)2Wr_&{8^@ zmeDb^oQ|dAXa%jL<7pM0Ky9>^)=>v-rY&?XZKw0-e7b-xq>Jb>x{BUHH_^>>JH4Ck zqW97R^gj9keTKe7U!kYz8Ttl&lU|_j(!bF!=~why`W^j=UgjvraS|?wlX8(<6c^1U zaR$!FC36{^g|l**To%`t>&Nxy^0@-8kSpR!xhie~SItf2CUKLwDcp3ffotR(oSXA- zZCpFIkXysu&aLIvaqGD|xXs))Zaa4;cQAgsSAaCY#&ci4-V|5k@a$0s-jC8D%_C>F&bHPRq0(xG^iz$7e)Nm(!pVKOFXq5F^? zB_RW7p+hOigbYlm{n%hqhKQ6|BSF|K;M%U zaJG0{&ZZ_<@-<4ee^5zFF_^<$=d#;dMmy_ad`3^TMb1~pj&E_yYO|Nr!<#s!JM69+ zWg?L0)p-Ckt}m@dIkYFk08MK8_0B2C%g-sapPP9PXmT~;y1i
X&j11 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 + + + + + + + + diff --git a/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/DNA.xcscheme b/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/DNA.xcscheme new file mode 100644 index 00000000..24b3a919 --- /dev/null +++ b/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/DNA.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/xcschememanagement.plist b/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 00000000..842f4068 --- /dev/null +++ b/DNA/DNA.xcodeproj/xcuserdata/plenkinevgeny.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + DNA.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + E9131F52164C3A020048034A + + primary + + + + + From 5d9ef603d1a84c6e490dbc6451a250dcb6d738ff Mon Sep 17 00:00:00 2001 From: KoD4K Date: Wed, 14 Nov 2012 22:06:35 +0400 Subject: [PATCH 3/5] some fixes --- DNA/DNA/main.m | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/DNA/DNA/main.m b/DNA/DNA/main.m index dcfa56d0..6faeb783 100644 --- a/DNA/DNA/main.m +++ b/DNA/DNA/main.m @@ -16,12 +16,12 @@ -(void)mutate:(int) i; @implementation Cell (MutateCell) -(void)mutate:(int)percent { - int count = 0; - while (count < percent) { - int random100 = arc4random() % 99; + int count = 1; + while (count <= percent) { + int random100 = arc4random() % 100; if ([[checkDNA objectAtIndex:random100] isEqualToString:@"NO"]) { [checkDNA setObject:@"YES" atIndexedSubscript:random100]; - int random4 = arc4random() % 3; + int random4 = arc4random() % 4; [[self DNA] setObject:[letterArray objectAtIndex:random4] atIndexedSubscript:random100]; count++; } @@ -41,7 +41,7 @@ int main(int argc, const char * argv[]) NSLog(@"Hamming distance before mutate:%i",[firstCell hammingDistance:secondCell]); - [firstCell mutate:10]; + [firstCell mutate:100]; [secondCell mutate:35]; NSLog(@"Hamming distance after mutate:%i",[firstCell hammingDistance:secondCell]); From 2de2dc3f6350ea0a1772473f0d9e84c97b05284d Mon Sep 17 00:00:00 2001 From: KoD4K Date: Wed, 14 Nov 2012 22:07:16 +0400 Subject: [PATCH 4/5] some fixes --- DNA/.idea/workspace.xml | 8 ++++---- .../UserInterfaceState.xcuserstate | Bin 14837 -> 13897 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/DNA/.idea/workspace.xml b/DNA/.idea/workspace.xml index d0913af9..dd43616e 100644 --- a/DNA/.idea/workspace.xml +++ b/DNA/.idea/workspace.xml @@ -41,7 +41,7 @@ - + @@ -186,13 +186,13 @@ - + - + @@ -278,7 +278,7 @@ - + diff --git a/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate b/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate index bc70c237c43071683c574ebe677af9adfcabf8f8..b28a107d79cbc4952923cd6ff7a5d55a0a877a78 100644 GIT binary patch delta 6938 zcmZu#2Y3@l)4tg~^?68KLRrhI?=Jifc#ot>T8eczeUKFdFpHB*Pj(c?qgy&ih4 z3Oaq+WNPpxb&tAF{XzW&00=P9zylLRgBdJf1smAG0Zwp%8)Cr^m7yxsfZEUinnD|B z3tgZq^nq093u!PEhQVj>IShvpFcL<=Xc!0MVG2xzuVFTP19M;jtbw(#4%WkWPzD=d zBWw!79@q;%z&_Xy2jCzaf)j8O&cP+P3OC>u+=hqn2%f@ocmXdFg=i#1BE%pa(jxY)=A2mbGQ47=>bwFKFAC!vvqJby_WuiPZ3XMgR(Nr`YeTinF z*=RlrE=I+u6zxWP&|dTd+K2X|1Lz<+gnmSa(NE|!I)i>im(W#o4c$i%&_nbH{fS

l_DE!c`& zbRu1ku1`0jo6^nb=5#CC+L7)`ccXjKz36m0Ko6ilr3cc3=^=C;J%S!X2SW zkRHdWT2yWDg0ELfr?x{2()wiuIt2=fxt=&Gu}exPu5moXE+07n#tI$}EN?2sVPoB#rbZ0phKg(F|Hr>LMze${`No zETWn~E21O)h{u^UIEf1XRY;~lhmRy%Kqq1(>0!wkmp_v120cEMgr3lg3?QG9S#m2h z4<%J@krFvj=m&$S*yYe4(jfo?;8Pd~8IVab$sm$NvPllfC41_wB~>mR6C<-f3vQkTGH_#U>vRx*K1B$LSG64(wq zIDG9Q{~=R2R81wGRHdPPUPg9W-teZm{fA};atbMw>b_zA*zPcOO~BZ%e3Jwa(~IM%Jua+i$Bf`V{;KhdH?Y1V`X! zI10bOF)BIKK;KdH6`4-HAzu(vXs*6ibvQ-UD2CH;27VQ1|NmXi^cI{lT4{dV$rxj%6<`lsn zA=Y4~;TilHDl+&H{1y7eP)YhprEHFT1%bM$N>6Bp)zj_-yy8~<8y>)GxYsSEQ+&U) z{6J6cofpXBGz|+7ip(cpmoJ9^A&#n?Nks^kvzGfTCmZ5%kU@O1Ff=8~5hF$lDz*ek zkQB*~oGd0wNFgaIK}w`TYNR2>WGN{n%R?uklEg+7&7l>UNJ+?S^at(88E!hrvO+E{ znTRh{scMp&lb@RvXr7T(5Xftrn;uZYTf`tQisQt~sgL|*#ars5%2Z|%s)7>8O7iVH z)}!jE)`tv5wNV|iimWD{-d)r3GQtrlKeXS-1RJ16AIUXFO~@LumUw!;wWLvAAkCRH z;?alvM=eqEN8uK=K`HNSYe&ATu&ra*woa%sDI=TS+tv-eiylegkc4`oUStE=NIcz> zn>K5fo>7pS=S=!y;73cQq4bXo4WI$!zhrZ0p2?~hgtAaJB|$mx01ZY%LI+K)Eql1L z+(P!9M)|0K8ybp+q0hMC95jL}21bSwqT2`ekRQm_5BPvaqcIUaklkckgbR@qAIEV4 zjYkvEM6#XiAUi+cLOB7-iSZ%U(F_jjyZ#015mc93RlCA0^bKd&2&xx6pn8$LoZUYV zDzff^FwzEdekdZCT!IQyl`$dK?3AW(*eF6pRN~tXS-2x2Rf3j=#+YMhw2VsRK0KkL zW(O_pj2s{b$szJ1IZS>cN663QDEWmPTSa-$ zCMp?iM&F|?Xe-)=wsRTO!3E~y#KeM;1uF{<78w!3bkaV;;Fq z?vT4I2)Ko^Rl9;%iscpf#|m=eE&j2Z!#~zwExAc@wU6x5jO7TbzR1k-x}u@`Ai1ugKraa0lFx zO6CxyMr!g83p_69nYid!8mg~7Uk9gBnaglroQC`1{x}^6$ZHlT7JvoB0%m~@mq!vj z5NF`b?p)N)FUZTt`INi~)puG1T*Za6aCT@2qcL(HIaJ~&T%lDiQ88%eQwhDFyrve0PqCRJG@WY@)o`nr^g;M*cCyxLeiF0@r=r}20^ zA#_>Suq~d1Cw~+c@l-q`yp7ZF7kD}gA{Hbp$cphy{3V{nf`SDN3%ZX`iN6V>k_9oB z_TTzDUt9`tO{7DHx;mVe?5p_w77PnpSNw^59Q@zIM z3N5?w{(seS03YP6`jG`a3x=>&QK54lS2X?wpP*uk@G*Rx1upJH7vYom6boh+EFoh| zni^lgmpJy}i!9g*@oy~HLtn(0-1s^U2MK%w-^9PO;AFwYg1Z>s#&>W%7CbB@k*A>} zF*$AVV=A)*Kf!YM%hksAt7x*Q9#X>9#UKV`C_#gZlzhNPc z1wRXw!WrBXS|4i(EsGr)6w=avnL^8GInAAXWfrQikiczJlCqr1RL8ou^3o_07ior$ z`nTyu+C)dQP>qG^EY#qpH;klasy}6OBg%H1wo?+?K|9Nqcr#J3W_e1W-L$9oyWb*B z(+bjxxvm&0v1>}FaO>^K&|bPqn7=RRINFb2(eX5ACFg5x7V2>BvQU?W#AS2>Qq$Gw z>R}eMP>+FuwG~Yit*nl&tA)OR1y22G+dBAxy zy}@V}8bmB?OgD)b6DXn^Q;B^#=ccC(x1|->s#dLArH1lOc|xRHP??34jG%W1L${{6 z%A<&GL$_t22@B1N=yr5_7Fw{-<^y6$;5FSPLXf8a!z{W-q`&!l;>cau6+6Q3hQ9eX}b7@S$-AkCTnY)>AVGnmV;p5`- zK<>_ABA(1$HcZ3Qxj;3GyL6b1OYsW43V+L8Ijj%jGQ1K07k`fr;(N4^u0?mJ=h2(! zWAt76Dg77yf_}xLc?zC^XXCkf@x02sdc1bL4!lmhF1&8M?!2D7-n>*^8n1vijQ2Tj z1aA~?43F@}^2YNf@+R{Nc^i1Uc#rs)UzOjC-%tR-wN zY$Si05^WZ37wr`77VQ-s5FHeq5}gxW5M2^o z6WtK~F1jsxB6=f6Vp=Q^i^LMKL2MG6#Wt}+>=Gx4tBY%jgLTA-;`-uN;XMq0WJzmDTS+@f2T3PM7fClscS%o4Z^`G9Ns{@JwUQl@ z(~>(j+2g;PL$4&&XmrQE|wNa zOQfaJ71CAG4brXB?b4mn-O|0%U!$01&Te3T{d$I>|kQ?Q(@@n#Ad6t~Wr^@HZ=gSw$m&l9cCGwx-XXO{drHU1b z&5A9GZHgU=U5Y)59~Ao)2NkCjR}_CMl}f*|m9nccPZ?BBR!&h)Q%+aTRL)h-S1wd8 zRu(FYl{=I-lz*s9Dwir=RZG=Im8!~7v8sit#i~M8v1+NRRCQK$Rdri+S9M?YQ1w{# zQq5Bf)FQQ7ouIC%4t7!ZQTJ8%Qx8&St8>-)YNDQ|o~@pvo~K@*ex`n{(Q2YJl{K|B z{WSwMAIn7PYEzKRxJMJL6>BObk<Ho7lIhB%GFi+JCZ8F~j9^AFV;I6rW4>mJ zm|~`cS;mwxo0!eaR%Sc1lR3y7VU9A#m=nxp<_7aSbDMd|O zzLLJOK0#ks-$>s?-%Q^^pRDhw@2u~tPt~XC`|GpxIr_o+0zIoAr=Osoq+g;h(wFF$ z>6h!*>o@2(={M_l2laRLj|@hG(~xXPF%%eB!yLmr!ve!1!xBT0p~SGvu-vfHu-dT3 zu+MP7aL91j@U!8V;iTb=;hf>3;Wxt-!!^UpD1B5yRLiI?QIn(QMQw>X74^`_H)@PV zW39WJUSpgw-dM$$VJtSTGnN@Q8aEra7`GV@8H0z7M~p{JiKdpOcBT%dPNpuV zUZy^#zNUVrbkiWyP}3OGRMT|ROjF48wdosEiD{W>xoKszAX*!3jIgRnQ61YEHX>XT62`yWHy_vX1_VXT+Lj=T-RLB+`yb< zP7a#8ntPgin^Vo{<^kq`=1gRTFG z8d;iHT3OmyQY`H)9WC80eJv9#g_fn3HJ0_3GRsEG9?Mb7G0O?dDa#qlS<89LEz2Ft zeal13W6K|wXO_RLW@{a5U+YBcGV5V$@TB#M^_umj^|tk%^`Z5N^{MqAo4_Wrxoz>b zBwGtxds}x~Pup1ARNEJ}m9{e5M%yp8v$pegi#^8fwWrxL?St&u_F?wf_J#KC_7nEY z_AB#49Ay_uN;2{o!H593Y=nR zmUFmstaH3`qI0ryiZkS#?VRhJ?_A_u;#}b@b8d4Uavpb{be?wp>OAMX=Dg{=?Y!%} z?|kTd?gE$GrFTWSOfIv_>WX#6x#C?_T-97PTn$_;Txk=|>!K@o*>%lz({;=Br|YF#;Fh~pZmnDIwz%zXm)qlxb@y}+bI)+kaTmHv z+@dZ@M?zJJLJW z`ycOYZ?SiocZGMgcdhq3??&$)?>_GV?~mRi-lN`Q-V@&EKC`cdZ-{S%Z=7$c?&-x1$A-*3LFz8k(fzWcsMz9+snaS(^&_;IOmS#ddWgX8k! zPQ~S4jr%?BPTc*tCvnf>p2xlPQ+|P8>5uYz{Bizxe}ccJzmC72zk$DnzrDY^KixmT zpWz?m&+!lO=lh9&tbe?JlK-~fv;u+7}aP39JJn|Z`MW}YxlK?ZVAKr9#_9-QC;H+Y~iG=Zkj44Oj=XbG*LHM|CG zpgnYgu8;=l&>IH8P#6iLpcqPE5=@3E5CI+*!D3hfOJNx-hZV3A%Ao=_!DiS4d*NN! z2m9d!oQ%LJI1OLI88{2);5>W_-@$eG9&W%d@EhER2Z%v{5E3I5QX>trAS<#VJ940S zn+M`aWD@sG@s5i<$1JFP;6b(b8(HK;U#-j;n3W}gKH85CqNC^}I)zT73+QWf5nV;!qko}0=y&u7 z`Zs!r9$|u2SdUHEif!1AU6{p*IE?GyF1RaB#ocfk?v8ulblem7!o6`HoQa3xES!t; zaRDBO$KwfjBA$dNNAMIp9nZ#Z;Kg_eUV+!*GQ0(E#oO>sd=P(*PvFz|EdC0AjW6SG z@W1d)d<*}M|GRTONvPeDJA2{WHOJuMdp(QWFdK*EFsIu3bK-{B^$|B zvW@H{yU6=wKly-sNIoJ*$uaUNIZe)y^WVRp{wqQa4T^2Dt{o<@VT7fl?jaq>#3kv}D=fYd!>q#r@#N5;R7Il_F;++YsV zmb4vhPg_JgqSr4%NA&7I6Z@tW6=s)al@#}DUzC}jGq$j3RPi}R#>g23^BZ%I@vj%? zPceTmcbPv0j@GmzO`)Blo%gFm9T7S^R|#tworWg8boA)LqLSQ5!Ek5$+`OFP-uaoi z1>yW&(aG0-CK(tYjK7jO0tm3c+=X@(8quppQtvi7d3oUx)sOrdwir+`+H&Sy+N2!R zv>Rn>2DG4K{AFb{v8E%=0v1677{LT)+MV{G>6Kt*+)N7X$#0Pl?dF9rg6j2n`nHq;TG^`O3RZzvdLFdagN3ePN>E!=bX z{)%rRZJ}Km%{Nr*Q}}!WHA16CX>dOLq9s4CRQ^HWJXrPAczcxA#?;CN%Lr+h9e7x zG1>|ypDCbj>ZxGbzz7;gb1Ca-HM$iO{nb$BLE$Tu9bgQ#&{0v!`QN@mSqkG`riAe@ zf#%Z!$~RQTLkjq;l9mC)329T?LP;(Y^(CFxpDk3fo{iokAm&R>C`imR*z+WFO{Z)!E(u!PGB@ z_vloruHpIs4m19Z@F9Ez2jF8k2#4SkI*m@JGw4h@i_WHRY=k3l6pq2C!u2_PLFdr9 z^j-R~a2=$F_+#p~Q;b=K`Qgmbqw{jAgEkzE+MKMC8XaH3B}Tgr{s|Z0Yq&_?r1R)o zbpATH3|HVPd_xz|C3Gp>OIg0L?O+6cfS;b*{$F%qjqQJBMpnR0xJBQli(Z)h4%~g& zM9gToN4=Df8Z)QWE5`gA9{mU96M=GZlyc63D$2ncbKfj}oZZ#|VPT^Xq06ZHJdz+O zk}(P-M+y{!lo`c2dBWmy3kxzza`SVFOEU9E_s=fOD$UO+DCyOs3tdT9(B*W`U`;=M zt+t!sA&O*A>wVpyo^Grh^=wN}EHVf|i?m3G^mG+nP1jVSIAla7x|WvFaz4$`uM=`c zC*h(M&#i^Ls21bjfD#ake8`UiD3Mmub#y)5KsVA&8&D91m=q=jC8K1zneGzoZl$~F zZvLL*ay`_98My&9Ma@ui)B?3ct>_lIjc%tq=sR?0G$IwK4Qh+pWu&Hui%W`f3x?CJ zyv*sUjXI!?gEi_GF1r8|vQTz)di)9vMj6v{*Sr~no6U1EF4KBWJk z2k1Wf0lzV}VKOR;ZgMewkE+k2*9C^LXk5RPY{8Vd!*X+q==*ekx{%PT6;4Ex_y*c| zT!AL@^|Y=8UF2!??_8CGNCo%c&{V+6_KhYWqn#nX3UgG#9ors{>=ncM+ zE=bTEp|_E)7Ky6hb1h9%(Obe4=A)@-A&TiE7-DEv>X7w9-WL(lT<4KCxC=-ew~=h0X6JpGEFVu+7i zLYH3wI`j?t_PN&Y=+`w`Z$!2JfPSPG>6I5+e?~W7k$el?rkCht%4VdrZPzY4x1_Mh z(`w#`mlFiKi~f4SBllFG`{)6^O26URxOnwr^aMR+6qrF%F~XSd8Q0nIlVFW+=`a7p zA}kh$Bv^`N!Z3ql&;YFDKZ;9>{6v4I-@W9ESdBGNU&K24BfVbbhd)%=3>yTS;W+yJ zGe5*;G>+b=cE113&0bNC-GcfUW&oPX450rKW@r03>WBjDVqa7|5~i!Javod@2l+$B zS_Fp#7d&K4lvQ^p;bcD5#NrBEo9|*u8j9=UmW+QZu7~U62Dl+^gd5`~xG8Rio8uPr zCcQ;()8FVF`aAuD-lc!id-SiZ42xScDYy-8i`(J$xC8DeR3mNy;qFr_2SE;Mb5M_i zbPjrQkh$loDH+_jFCHKyM4SPiS&9!&qu0pY;Rhb_(dH9CK->XHp- z<6(k3;2ip}91o|Dg@Wis?BKkrIC;dMwiL6t5En;9kH%wg5q(0Ra==vL5?qR3=Rg2! z#0iyIB7axo=MQLnRv|^D73Jn<7L9NFET{LZ$?|-*)s=uFn2Rc=9Ei&CR1PGss-6{9 z%^$Q6Y49vu@Ekl}2*CdWe|RB&I|_dsNI8%R04S7|X1-axnV)YL_g@;d*fI{}FJTZ~ ziC0B2h=Ujo6j79^MwUkF@6>23$3l@%g)Deo6j?Y>R^koFh&OSdqGg;=PA2k09Ic}| zBHN=nc5tA14l#Hae(!&S82mooUjs25#ByM&0hwn3iG?(<0e^xI<0JSeK88Q#K+A!S z13d=@4&pd4J_j3uk5^%gLspgU@u`=v1D|;bJMj7c3wGcOFJTA1^fGp6Qm#}%N6ju> z!{0}J;#>S3zRrP#0~-g9N_+$VfPdt`$w2}K{#OnAYt*nDSou}j4CBkrcBgv4K3FqY z0Q@w5phsoOf0^K3H9`Cf0%PO>ek?czE)tybAs#KbWYjNR^vOE>1V3fmL~u+u2Og^7 zz)KSccFfJrX`PpsQe0e`Q(R^9cMtuVo-r{w=&W6*PJ_vPCpM_lDCkU{{A__lN|gUy zK2Z@h+)-q%mnOSc)_uO-VBj>T}S5gNBu)1!;+l95mvf2QA~-go2KwJu`A0=|DP? z6w--<#vHWbpe+X}&ryMNCEcU4Qb{+G#z7MfnsU&rlJp?yL`X%=IcUK_Oa4m2nuLKQ z^S@CJC0Qh!gVr3p#z7l?Eo*5tk`(+m%0e=ljNzai2kki!zCJxI?^J;elf^g_5aT>c zgkpn?CFAz|&5lF`9jnqWnLs8Ed|qd@%`C~R6uKrcO?#)NM_V;}GKI_#VpLcMB^*g3 z)5!Fy)d;KZEG&qFE*x~-KxU$3GMl^+Ee1JArMo%k#zFV0dhkqOYlIi{FCvShRYtUq zje5XRRJusmm9*-~EG5gT_2yKNrA*U-Jqxol$2&7ioXJh<)z$n`g)3wgGqRjfQuJbz z%SdI^{N<#AgI*l;sUYjfdJZx;81!;L$rq9>)p61LKO>5~Q$5i4MZl=MHJ`?0H+ffp zX|jjx<)9x2{VT{m@(&IMa4?X6P%B_PKo0%K_$TBr2ZK2n!Z!0PKE$a!gck^HI(xpU6=ob1*`StEo}t>_H7 zOs@1wFUc&)p}tGEFi^!b>(wc1k{y9Fu$|`9g9+a!PVRa#3-IF7^L@tvn7d}Q~Brew0N3XMXm z&@18;CPlo0Rn%29P&86BRWw($RCG~vRirA?6ay96ieZWoijj&jieg2nVyt4kVv%C6 z;<)0Z;*#Q);y176})>k%Ewou~o66s{EvvR9)yKWmn~@URTXhy`h?`nx~qtTBzbxi&aZi zn^ap=+f+MLJ5{??dsX{X@2U2yPO5%X{i%AYHmDn^yQur9v(>}Zx#~Q1fqJxhnR>l? zlX{DKyZRmVF7-b3Vf7d4$O-i+^_S`k>Wk{j>Z|H&8imHAX{u?f>7Yr`bk_9M4ADnRM z9PMyzuC_osT3e(o(N5OR(azT{)biS8+7;SW+BMpZ+QZrt+SA%I+H=|)+S}R(I-(Qn zq&m4SMwhEA(nWMLb+dJIbZ_c--D2HR-E!SZU4?G5?v(Bq-EG}{-M@8@bWijOy-9D; z+w=~-Q}5PCy!zVuy88P1hWf_(ruydkmiin$r{APMrN3>^8El4tp_UxQ-&`Mw+w$79>nS5Y;lgb%(#(pd2#FFw#V&= z+Znez?t{3?ao3H=Xfh@kS)r-7V>s-j=?WewG5uM9UNlwM?_ju*|Y7uq?JLwJf)+ zv~03$x4dK7W!YzW&$8e0q2&w9Im@?}A1psvezx4U+_C&&`P0f+W!5;W(Q2|qP5p>pbgx>q6@i>oV&K z>niIG>p!fYS+82}+q5>lEzV}LS!{J}&1`LK-E2j+DK=`GYMXAGXe>w0&YbW;<=WV*AGSt?jz)q3yBlsU7Ut9%EPABe8a!-DYoZ?`$u% zPqDAFZ?>PdU$Nh{-?QJh|80M0e{6s100(x691@4j;dHniUI*(4ID(EOM;%9fM9tYM=wW_<4s4UW2fVL$Gvz%d~$rJ_{{i%_|o{X@#Ets#!ro(9zQF7PW+qkN8@kD zKa79kWSrP3iZ~@sy)({fa$1}-oxF2}bCq+Av)sAKxz)MDxy!l7dD(?rc9+)`b~SXh zb#-uca&>j3xq7$;yE0u_u3@gjt}k5|U6)-~UDsUSxqflobp7V~!}X`@FSpihbvxWH zx5r)2-O$~{-OSy>-ND_{-QPXXJ=i_eo$JnXM+)3y+{Nx??!E4h+y~u<-ACPL-PhdT zxxaV+;Qq<|v-?-~1NTGs6A$A-9^w&uq@Gxh!{hRJJw8vOC*(=?)bTX+H1}k9hI+C+ zb3KbZOFVl#A9@aWE_$weZg_p(WN#hsNN=&X#QVB;ns<(Oo_B$l_pb1+_Lg}oBi{Ai z-QK<4ectyIv^ycp`!>6XUCnM__pl$bAG3$pBkVEuG<%l)ioL*I zVz012u(#R!KH`)4A~8O-PwzAOEIykr+1JsR?{A@_>THM^Bwn{^qux2zun)!-_qaF-`St)@9yvE@9od>kM!sJNBfKY6a16?)IZHX z!@t9SB_IvN26O>)fDMEK$$`3o27%^*R)IEw_JNL(K=(k;K;J-4ATLlDC<>GYCIupa zseu`RS%C$CrGc`*rl2&a2>5l9rU!cmGlBzxxxu_(L2yj4B=~x8 zTyR2gZSY9&cE}WRg%U$`LQO+0LLEY>q4ZE@C@Yi~Dh!PY6^CeOMrd|uZfHS>4@H)Q zmW9@bHikBbwuMDuZCD?U3!B3e!?VNl!VAKDcv*O5culx0ydk_jyf6H5_(b?j_ Date: Fri, 16 Nov 2012 07:52:51 +0400 Subject: [PATCH 5/5] change random number --- DNA/.idea/workspace.xml | 33 +++++++----------- .../UserInterfaceState.xcuserstate | Bin 13897 -> 14399 bytes DNA/DNA/Entities/Cell.m | 2 +- 3 files changed, 13 insertions(+), 22 deletions(-) diff --git a/DNA/.idea/workspace.xml b/DNA/.idea/workspace.xml index dd43616e..93af8162 100644 --- a/DNA/.idea/workspace.xml +++ b/DNA/.idea/workspace.xml @@ -20,28 +20,19 @@ - - - - - - - - - - + - + - + - + @@ -58,8 +49,8 @@ @@ -192,11 +183,11 @@ - + - + @@ -264,21 +255,21 @@ - + - + - + - + - + diff --git a/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate b/DNA/DNA.xcodeproj/project.xcworkspace/xcuserdata/plenkinevgeny.xcuserdatad/UserInterfaceState.xcuserstate index b28a107d79cbc4952923cd6ff7a5d55a0a877a78..2ac999463d6ac8e71fb9b80f3c64ad70a141843c 100644 GIT binary patch delta 7964 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 HeewSQ8>wic delta 7677 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 TsPf(#