Полезная функция для программирования на Си

Everything you can't fit into other forums
  • R0bur wrote:В идеале "это" следует сначала сформулировать на русском языке.
    Ещё есть вариант полезный к прочтению программистами (бестселлер для общего и не только развития)
    Способ мышления Форт. Язык и философия решения задач
    у Броуди есть ещё одна переведённая книга уже по основам Форт.

    P.S. Англоязычный вариант Leo Brodie wrote Thinking Forth :)
  • Вы не подскажите, как сделать, чтобы условия не заканчивалось после возврата истины? Вот так?

    Code: Select all

    function ForIf(karray, kcondition) {
      kcount = count(karray);
      for (i = 0; i < kcount; i++) {
        if (kcondition == true) {
          karray2[i] = karray[i];
        }
      else {
        karray2[i] = false; 
      }
    return karray2;
    }
    
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • ppk-center
    C строго типизированный язык. C и JS это разные языки. Теряешь скобки. Все элементы массива должны быть одного типа. Неявные преобразования типов часто бывают источником многих ошибок. Где объявляется karray2? Не ответил на главный вопрос: в чем смысл функции?
  • Вот самый простой вариант использования почти этой функции

    Code: Select all

    int karray;
    char kcondition[99];
    function ForIf(karray, kcondition) {
      kcount = count(karray);
      int a = 0;
      int karray2[9999]; // вот тут нужно оптимизировать
      for (i = 0; i < kcount; i++) {
        if (kcondition !== karray[i]) {
          karray2[a] = karray[i];
          a = a + 1;
        }
    return karray2;
    }
    // функция выкидывает все её члены, которые равны condition
    CleanArray(karray) {
      ForIf(karray, "");
    }
    char MyArray = {"a", ""};
    MyArray = CleanArray(MyArray); // вот массив без пустых мест
    
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Да. Никаких сомнений больше не остаётся.
  • Code: Select all

    def filter(arr, obj_to_rem):  # хотя filter лучше не переопределять
      res = []
      for x in arr:
        if x != obj_to_rem:
          res.append(x)
      return res
      
    myarr = ['A', 'b', 'C', 'd', 'b', 'a']
    print filter(myarr, 'b')
    
    # Output: 'A', 'c', 'd', 'a'
    
    Last edited by e-andrew on Thu Jun 12, 2014 6:02 pm, edited 2 times in total.
  • e-andrew wrote:

    Code: Select all

    def filter(arr, obj_to_rem):
      res = []
      for x in arr:
        if x != obj_to_rem:
          res.append(x)
      return res
      
    myarr = ['A', 'b', 'C', 'd', 'b', 'a'];
    print filter(myarr, 'b')
    
    # Output: 'A', 'c', 'd', 'a'
    
    Какой язык?
    The motto of the wise is: be prepared for surprised http://vlampochke.esy.es/
  • Who is online

    Users browsing this forum: No registered users and 3 guests