[C/C++] ЗАДАНИЯ

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Fata1ex, 21 Jun 2009.

  1. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    задание 14
    Code:
    char data[]={1,2,3,4,5,6};
    char *mas=&data[2]; // массив начинающийся с произвольного числа )) 
    
     
    _________________________
  2. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Нене, это фэйк ))
     
  3. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    ну блин, ведь уже написали даже - неужели трудно переписать
    Code:
    int a[100];
    a-=10;
     
    1 person likes this.
  4. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    задание 13:
    так и не понял, в чём суть
    Code:
      char str[100], very_long_string[] = "helllllllllooolllloollollooll";
    
      for (int i=0; i<10000000; i++)
        strcpy(str, "bytes "); strcat(str, very_long_string);
    
    работает 5512мс, а с ":" 5544мс. Так что, если разница и есть, то только в памяти, но понятия не имею, с чего бы.
     
  5. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    2 desTiny
     
    1 person likes this.
  6. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    очень спорно. некоторые компиляторы делают оптимизированное копирование числа байтов, кратных четырем, а остаток спокойно ифом и выбором из 3х условий - длина = 1, 2, 3. Все очень сильно зависит от компилятора и его настроек. Вот мсный компиль практически всегда дает while(*dst++ = *src++) и ему глубоко чихать на выравнивание =)
     
  7. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    2 16
    Всем желающим написать задание писать мне в ПМ или прямо сюда.
     
  8. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    по-моему 30 миллисекунд за +миллион символов (вроде в дизасме без всяких доп. выравниваний) - это по-моему достаточно, чтобы оспорить это утверждение:)
    и к тому же в первом случае (если обозначить адрес начала за 0) конец на позиции 6, а во втором 7 - то есть тут вроде нет никакого выравнивания. Но если даже добавить ещё один символ - получаем 5614мс - и никакого выигрыша.

    Busted :)
     
  9. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    desTiny, наверно, как и сказал Ra$cal, все зависит от реализации )
    :(
     
  10. desTiny

    desTiny Elder - Старейшина

    Joined:
    4 Feb 2007
    Messages:
    1,006
    Likes Received:
    444
    Reputations:
    94
    #16 будем считать, что слеш написал решение)
    утверждение l != 1 - там в один пиксель разница:) Поэтому a=765437
     
  11. Roston

    Roston Elder - Старейшина

    Joined:
    31 Jul 2008
    Messages:
    337
    Likes Received:
    104
    Reputations:
    8
    чё больше не будет заданий?
     
  12. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    Не помню где нашёл... было сохранено в txt файле:
    Что выведет данная программа?(Не hello, world точно...)
    Code:
    /*
    * HELLO WORLD program
    * by Jack Applin and Robert Heckendorn, 1985
    */
    main(v,c)char**c;{for(v[c++]="Hello, world!\n)";
    (!!c)[*c]&&(v--||--c&&execlp(*c,*c,c[!!c]+!!c,!c));
    **c=!c)write(!!*c,*c,!!**c);}
    
    P.S Tckb не в тему удалите пост...
     
    #92 Ch3ck, 6 Jul 2009
    Last edited: 6 Jul 2009
  13. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Roston, тема к сожалению не пользуется большой популярностью ( поэтому и нет.
    Ch3ck, это ацкей изврат :(
     
    1 person likes this.
  14. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    Я постоянно эту темку читаю) вот тока у самого опыта маловато => интересных задачек нет. =\
     
  15. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    Я думаю, что, наверное, можно постить сюда не только интересные задания, но и просто обычные задания, так как не у всех есть желание и возможность покупать и читать практикумы и задачники. Как вам такая идея? Например, задание написать парсер небольшой или создать эффективную функцию? Если есть предложения по развитию треда вы пишите: все пожелания учитываются, а то тема увядает, так как никакой инициативы со стороны нет :(
     
  16. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Задачка не сложная, для начинающих типа Balvan-а . (циклы и масиивы)

    1.
    Ввести число n и заполнить 2мерный массив размеров n*n числами 1,2,3 по спирали.
    Например n=4
    Code:
    1   2   3   4 
    12  13  14  5
    11  16  15  6
    10  9   8   7
     
    #96 fker, 8 Jul 2009
    Last edited: 9 Jul 2009
    2 people like this.
  17. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    fker Спасибо! =D

    Code:
    int SpiralArray (int n)
    {
    int k = 1;
    int j;
    int m;
    for (int i=1; i==n; i++) {
    	if (i%2<>0 and j<=n) 
    		for (j=m; j==1; i--){
    			int a[i][j]=k++;};
    else for (j=1; j==n; j++) {
    	int[i][j]=k++
    	};
    	for (i=1;i==n;i++) {
    			for (j=1;j==n;j++){
    			cout << a[i][j] << " ";
    			}
    	}
    }
    return 0;
    }
    
     
    #97 Balvan, 9 Jul 2009
    Last edited: 9 Jul 2009
  18. fker

    fker Member

    Joined:
    26 Nov 2008
    Messages:
    135
    Likes Received:
    64
    Reputations:
    -1
    Удивительно... а как это может скомпилироваться? %)
     
  19. Fata1ex

    Fata1ex Elder - Старейшина

    Joined:
    12 Dec 2006
    Messages:
    703
    Likes Received:
    300
    Reputations:
    38
    2 17 18
     
  20. Balvan

    Balvan Member

    Joined:
    11 Mar 2009
    Messages:
    66
    Likes Received:
    5
    Reputations:
    0
    ой =)