配列内の繰り返し文字列を検索する必要がありますが、セグメンテーションフォルトがコアダンプされているだけのエラーはありません。
カウントが更新されていないため、出力が得られません。セグメンテーションフォールトコアダンプC++の繰り返し配列検索
#include <cmath>
#include <cstdio>
#include <vector>
#include <string.h>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
/* Enter your code here. Read input from STDIN. Print output to STDOUT */
int n, q;
cin >> n;
cin >> q;
string a[n], b[q];
int i, j, count = 0;
for (i = 0; i < n; i++)
cin >> a[i];
for (i = 0; i < q; i++)
cin >> b[i];
for (i = 0; i < q; i++) {
string k;
k = b[i];
for (j = 0; j < n; j++) {
if (b[i] == a[j])
count++;
}
cout << count << "\n";
count = 0;
}
return 0;
}
ですので、この問題を解決するのに手伝ってください。ありがとうございます。
デバッガを使用してコードをステップ実行する方法を学ぶ必要があるようです。良いデバッガを使用すると、プログラムを1行ずつ実行し、どこからずれているかを確認することができます。これはプログラミングをする場合に不可欠なツールです。さらに読む:** [小さなプログラムをデバッグする方法](http://ericlippert.com/2014/03/05/how-to-debug-small-programs/)** – NathanOliver
また 'string a [n]、b [q]; 'は標準ではなく、標準準拠のコンパイラではコンパイルされません。 – NathanOliver
可変長配列を使用しました。あなたのプログラムをクラッシュさせるのは、貧しいプログラムがスタック上に例えば10,000,000,000の 'int'sのためのスペースを割り当てようとすると、1人の大規模なユーザーの入力だけです。 – user4581301