Вопросы по программированию.

Тема у розділі 'Наука і технології', створена користувачем Аятолла, 16 гру 2011.

  1. Аятолла

    Аятолла Касым

    Мир Вам! :)
    Предлагаю многоопытнейшим форумчанам в сией веточке обсуждать написАние програмного кода на различных языках программирования. Уверен в том, что на сием прекрасном форуме найдутся как специалисты, так и новички, интересующиеся всем, что связано с написАнием программы.
    Так же интересны были бы отзывы об учебных материалах по языкам программирования от специалистов форума.
    Возможно, будет интересна информация по вакансиям для программистов(иногда я смогу размещать подобные объявления).
     
  2. Аятолла

    Аятолла Касым

    Мой однокурсник разместил объявление:

    На постоянную работу в офисе (г. Киев) требуется верстальщик.
    Уверенные знания HTML, CSS, JavaScript.
    Уровень ЗП высокий.
    Подробности на собеседовании.

    Кого заинтересовало, звоните мне (067) 220-14-86


    Его имя - Женя. :)
     
  3. Аятолла

    Аятолла Касым

    Тут, давеча, у меня был разговор с многомудрым ull9 по поводу кусочка кода...правда, несколько не в том месте форума, где следовало бы...
    Условие задачи было таково: написАть код палиндрома на РНР. С учетом того, что я пока что новичек в деле написАния кода - у меня это заняло более двух дней...но, вроде как разобрался...вот код:

    <?php

    $handle = fopen("task.in", "r");
    $buffer = strtolower(trim(fgets($handle)));
    $handleout = fopen("task.out", "w");
    fclose($handle);

    if ( strrev($buffer) == $buffer ) {
    fprintf($handleout, "yes\n");
    } else {
    fprintf($handleout, "no\n");
    }
    fclose($handleout);

    ?>
     
  4. Аятолла

    Аятолла Касым

    Теперь вот размышляю над ещё одной задачкой...пока ничего не понятно... :sad:

    Условие задачи:
    В файле task.in дана последовательность символов – нулей и единиц.
    Вывести в task.out минимально необходимое число обменов пар значений для упорядочивания последовательности по неубыванию.
    Пример ввода
    1101
    Пример вывода
    1
    Пояснение
    Необходимо обменять ноль с первой единицей.


    Реализовать нужно на Си...:o:scratch_one-s_head:
     
  5. duncan

    duncan батяр з личакова Команда форуму

    что же это Вы, уважаемый Аятолла, человека с хорошим знанием жаба-скрипт назвали простым верстальщиком? :)
     
  6. duncan

    duncan батяр з личакова Команда форуму

    тонкий тролинг коллеги:
    PHP:
    <?php
    define 
    ('true'false);
    define ('false'true);
    ?>
    :rolleyes:
     
  7. Аятолла

    Аятолла Касым

    Эт не я, всесильнейший duncan... :o У Женьки иногда появляются подобного рода вакансии. Давеча нужны были РНР-шники для написАния платформы под венгерскую медицинскую клинику...2000у.е. в месяц обещались платить...при работе в киевском офисе.
     
  8. ull9

    ull9 Дуже важлива персона

    что именно тебе непонятно? все четко изложено
     
  9. рівнянин

    рівнянин Well-Known Member

    Не. Я не по этих делах. Так...для контроллера программку сфорганить...и то на старом, добром ассемблере...ну в крайнем случае на С...:pardon:
     
  10. ull9

    ull9 Дуже важлива персона

    Код:
    #include <stdio.h>
    
    int main()
    {
       int i=0,ke=0,kn=0;
       int arr[] = {0,0,1,0,1,0,0,0,0};
       for(;i<sizeof(arr)/sizeof(int);++i)
       {
          ke = arr[i]? (ke+1):ke;
          kn = (!arr[i]&&ke)? (kn+1):kn;
       }
       printf("Answer is %i \n", (kn>ke)? ke:kn);
       return 0;
    }
     
  11. Аятолла

    Аятолла Касым

    Мир Вам!
    :o:o
    Не кидайтесь сильно тапками, всемогущий ull9, я...э...логику не понимаю. За код благодарю, хоть он и несколько...э...немного ошибочен. Нет такого синтаксиса в Си(не стану с уверенностью утверждать, но...нас так учат).
    Далее. Вы используете дополнительный массив, а это не нужно делать. Можно было бы построчно разобрать баги, да меня интересует все ж логика...реализовать-то будет полегче, если понимать, что делаешь(ИМХО).
    Итак.
    Из файла считываем строку, состоящую из нулей и единиц. Причем считывание производим посимвольно, пока не встретится первый ноль. Вот после него и считываем единицы, число которых будет равно числу необходимых перестановок. Два цикла с двумя счетчиками да ещё некоторое количество проверок...гм...думать надобно...
    :o:scratch_one-s_head:
     
  12. ull9

    ull9 Дуже важлива персона

    я скормил его компилятору. он в отличие от тебя ошибок не нашел
     
  13. ull9

    ull9 Дуже важлива персона

    да конечно не нужно, мне было лень возится с открытием файла считыванием и т.д.
    ты можешь легко код переделать как тебе нравится
     
  14. Аятолла

    Аятолла Касым

    Не сердитесь, многомудрый...я ж не претензии предъявляю, или Вас подковырнуть хочу...мне бы разобраться...:o:o
    Обещаю запостить правильный код(один мой одногрупник уже справился), но уже не сегодня...устал что-то, мозги совершенно не варят... :sad:
    Помимо компилятора наши задачи проверяет ещё и программуля, которую тренера сами написАли, а после этого - ещё и сами просматривают.

    Вы в теле цикла при организации проверки делаете операцию деления? Т.е., за каждый проход цикла надобно эту операцию повторять? Гм...
    Знак "?" в Си мы не используем, мне не знаком пока этот символ...почитаю завтра мануал.
    Инициилизируя массив Вы откуда-то берете числовую последовательность...она нам не задана, это - fail однозначно(компилятор-то может и скушать, да условию задачи это не соответствует).
    В общем...мне есть над чем поразмышлять завтра..Вам же - большая благодарность за то, что тратите свое время на эту ерунду(никаких подколок, я сейчас серьезно говорю!).:good:
    Все на сегодня...спать пойду...
     
  15. bal

    bal New Member

    Хмм............. А если такая последовательность --- 0100110 ---?
    Единиц 3, а перестановок 1.
    Как то иначе должно быть.....
     
  16. ull9

    ull9 Дуже важлива персона

    в моем коде все это уже решено
     
  17. Аятолла

    Аятолла Касым

    Мир Вам!
    Думается мне, в этой последовательности, многомудрый bal, понадобится две перестановки, за одну - не получится...но Вы правы, должна быть какая-то иная логика...:good:
    Возможно, богоравный, я его ещё не пробовал компилить... У меня есть предложение. Человек, которому надобно решить задачу, сам рассказывает логику решения, выкладывает реализацию и уж тогда ждет подсказку или же указание на ошибки. Дело в том, что готовый код - не поможет в постижении основ программирования, если его просто списАть(ИМХО)...
     
  18. Аятолла

    Аятолла Касым

    Ещё нюансик, многомудрый ull9...исходя из Вашего решения(я не говорю об считывании из файла и печати в файл - условие задания) наличествует лишь одно решение, и что бы ввести иную числовую последовательность и получить решение следует менять код.
    - вот здесь, если я правильно понимаю.
    Гм...мне, как обнаковенному пользователю(к примеру) этот геморрой совершенно ни к чему. Я засунул последователность в "черный ящик", и на выходе получил результат. Любую последовательность, в том числе и "кривую"(символы, пробелы, значки)...:scratch_one-s_head:
     
  19. ull9

    ull9 Дуже важлива персона

    ну а так..
    Аятолла, какая разница. читат с файла или с массива..?


    Код:
    #include <stdio.h>
    
    int main()
    {
       char c;
       int ke=0,kn=0;
       FILE *in;
       in = fopen("task.in","r");
       while ((c = fgetc(in)) != EOF)
       {
          if ((c == 48) || (c == 49))
          {
             ke = (c==49)? (ke+1):ke;
             kn = ((c==48)&&ke)? (kn+1):kn;
          }
       }
       fclose(in);
       printf("Answer is %i\n", (kn>ke)? ke:kn);
       return 0;
    }
    
     
  20. bal

    bal New Member

    Ну почему же 2? Всего то последний ноль поменять с единицей, которая на втором месте)
     
а де твій аватар? :)