如果有多种模式,如何编程模式?

时间:2018-10-17 17:42:29

标签: c arrays mode

只要只有一种模式,我就能编写程序来查找模式。但是,我不确定如何更改我的代码,以便在存在多种模式时它可以正常运行。

这就是我所拥有的!关于如何修复我的代码的任何建议将不胜感激。

>>> db = sqlite3.connect(":memory:")
>>> fts = FTS4SpellfixSearch(db, './spellfix')
>>> fts.create_schema()
>>> fts.index_text("All the Carmichael numbers")  # your example
>>> from pprint import pprint
>>> pprint(fts.search('NUMMBER carmickaeel'))
{'corrected': 'numbers carmichael',
 'results': [('All the Carmichael numbers',)],
 'terms': 'NUMMBER carmickaeel'}
>>> fts.index_text(
...     "They are great",
...     "Here some other numbers",
... )
>>> pprint(fts.search('here some'))  # edgecase, multiple spellfix matches
{'corrected': 'here some',
 'results': [('Here some other numbers',)],
 'terms': 'here some'}
>>> pprint(fts.search('NUMMBER NOT carmickaeel'))  # using fts4 query syntax 
{'corrected': 'numbers NOT carmichael',
 'results': [('Here some other numbers',)],
 'terms': 'NUMMBER NOT carmickaeel'}

1 个答案:

答案 0 :(得分:1)

您想要:

a)记录下每个值出现的频率。您已经为此使用了“发生次数”数组。

b)找到最高的“发生次数”

c)查找具有最高“出现次数”的所有值

对于您的代码,通常可以通过替换以下内容来实现:

  if (c[x]>=mode)
      {mode=x;}

..具有更多类似内容:

  if (c[x] > highest)
      {highest = c[x];}

..然后最后做类似的事情:

    printf("the mode/s are:");

    for(i = 0; i <= 100; i++) {
        if(c[i] == highest) {
            printf(" %d", i);
        }
    }

    printf("\n");