Форум программистов, компьютерный форум CyberForum.ru

Разминка (логическая задачка) - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C EXC_? (11) (code=0, subcode=0x0) http://www.cyberforum.ru/objective-c/thread795270.html
Всем привет. Я всего пару месяцев изучаю Objective-C. Написал свое приложение, все было замечательно пока приложение не начало вываливаться при определенных обстоятельствах с сообщением в сабже. Пишу на вирутальной машине, xCode 4.4.1 Я засел за буржуйские форумы и блоги. Практически всегда при обсуждении этой ошибки люди упоминали memory leak и problem with many autoreleased objects, как...
Objective-C @property (readonly) Добрый вечер, Решил немного поизучать obj-c. Пока не очень привычно Вопрос такой: мутаторы assign, retain, copy влияют только на setter? Если да, то почему нет никакого warning'a в записи? @property (assign, readonly) NSString* stringValue; По мне так эти мутаторы несовместимы - если есть readonly, то assign, retain, copy уже не нужен Также, когда обычно используется assign? с простыми... http://www.cyberforum.ru/objective-c/thread795058.html
Objective-C перевод с++ на obj-c
Привет всем. можно этот код переписать на objc? http://my-tech-talk.blogspot.ru/2012/06/digit-recognition-with-opencv.html
Objective-C Realtime video effects
Есть ли возможность при съемке видео накладывать изображения в зависимости от положения головы человека? Ну вот типа того Ну и каким образом тогда это сделать :)
Objective-C malloc http://www.cyberforum.ru/objective-c/thread790602.html
всем привет полез с UIimage поиграца уперся в стену везде в туториалах встречаю строчки типа GLubyte *buffer = malloc(sizeof(GLubyte)*myDataLength); или ccColor4B *buffer = malloc(sizeof(ccColor4B)*numPixels ); но мне компилятор говорит что не суй void в переменную типа char или другого типа WTF?
Objective-C Можно ли разрабатывать приложения для iOS на старом Mac? Здравствуйте! Хотелось бы заняться разработкой приложений для iOS 6...и т.д., а для начала, конечно, научиться этому. У меня есть старый MacBook 2007 года, который НЕ поддерживает установку Mountain Lion. Есть ли возможность на этом ноуте в дальнейшем разрабатывать и тестировать приложения для iOS 6.1 и последующих? На сайте Apple я понял, что нужен именно Mountain Lion. Можно ли это как-то... подробнее

Показать сообщение отдельно
dollar8
13 / 13 / 3
Регистрация: 25.09.2011
Сообщений: 84
27.02.2013, 09:27  [ТС]
Цитата Сообщение от sandye51 Посмотреть сообщение
-1 если числа равны
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
//  main.m
//  TestObj-C
//
//  Created by Ilya Lavrenov on 2/25/13.
//  Copyright (c) 2013 Ilya Lavrenov. All rights reserved.
//
 
#import <Foundation/Foundation.h>
 
@interface NumberComparator : NSObject
 
@property (assign, nonatomic, readwrite) NSUInteger firstValue;
@property (assign, nonatomic, readwrite) NSUInteger secondValue;
 
- (id)initWithFirstValue:(NSUInteger)firstArg andSecond:(NSUInteger)secondArg;
+ (id)comparatorWithFirstValue:(NSUInteger)firstArg andSecond:(NSUInteger)secondArg;
 
- (NSInteger)returnPosition;
 
@end
 
@implementation NumberComparator
 
@synthesize firstValue = _firstValue;
@synthesize secondValue = _secondValue;
 
- (id)initWithFirstValue:(NSUInteger)firstArg andSecond:(NSUInteger)secondArg
{
    self = [super init];
    if (self != nil)
    {
        [self setFirstValue:firstArg];
        [self setSecondValue:secondArg];
    }
    return self;
}
 
+ (id)comparatorWithFirstValue:(NSUInteger)firstArg andSecond:(NSUInteger)secondArg
{
    return [[[NumberComparator alloc] initWithFirstValue:firstArg andSecond:secondArg] autorelease];
}
 
- (NSInteger)returnPosition
{
    NSString *firstStringRepr = [NSString stringWithFormat:@"%li", [self firstValue]];
    NSString *secondStringRepr = [NSString stringWithFormat:@"%li", [self secondValue]];
    NSUInteger firstDigits = [firstStringRepr length], secondDigits = [secondStringRepr length];
    NSInteger maxDigits = (firstDigits > secondDigits ? firstDigits : secondDigits) - 1;
    
    if (firstDigits != secondDigits)
        return maxDigits;
    
    NSInteger i = 0;
    BOOL lastComp = [firstStringRepr characterAtIndex:i] == [secondStringRepr characterAtIndex:i];
    while (lastComp && i < maxDigits)
    {
        ++i;
        lastComp = [firstStringRepr characterAtIndex:i] == [secondStringRepr characterAtIndex:i];
    }
    
    return maxDigits - i - (lastComp ? 1 : 0);
}
 
@end
 
int main(int argc, const char * argv[])
{
    @autoreleasepool
    {
        NumberComparator *comparator = [NumberComparator comparatorWithFirstValue:1135 andSecond:2135];
        NSLog(@"%li", [comparator returnPosition]);
    }
    
    return 0;
}
Cупер!!! завтра запущу в проекте, но по коду--супер.
Просто я не очень хотел влазить в стринги да и вообще в объекты.
Плюс теперь надо чтобы эта задачка и для дабл чисел работала. т.е. порядок может уходить в минус, если расхождение будет после запятой.
sandye51, спасибо еще раз. с даблами я уже сам доделаю.

Добавлено через 3 минуты
Цитата Сообщение от korvin_ Посмотреть сообщение
А я все понял (хотя и не с первого раза) =) Достаточно поставить чила друг под другом и пронумеровать порядки (а сравнивать нужно от большего порядка к меньшему — этого нет в условии):

порядок:3210
    
a1 =2222
b1 =2230
r1 =TTF 
    
a2 =0222
b2 =2230
r2 =F   
да не сказал, что от большего порядка к меньшему (но это вполне логично из задачки).

Так вот как поставить числа друг под другом -- в этом и проблемка то. (Т.е можноооо как-то через стринги, но хочется это сделать просто и изящно).

Добавлено через 3 минуты
mobidevelop,
zulkis, Завтра изложу вообще цель данной задачки. просто я ее упростил до данного частного случая. Строю оси графика и на нем градацию. нарисую картинку завтра.

Добавлено через 8 часов 5 минут
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru