487-3279符号化正規化およびカウント練習2974
1355 ワード
百练のコードボックスは表示问题である注釈コピーで过去は自动的に改行しても大丈夫だったのでしょうか・・・
include
include
include
include
using namespace std;
char map[] = "22233344455566677778889999"; char str[80], telNumbers[100000][9];
int compare(const void elem 1,const voidelem 2){//関数テンプレートsortの配列要素を定義する比較関数return(strcmp((char)elem 1,(char)elem 2);}
void standardizeTel(int n){int j,k;//j元の文字数を計測するために使用され、kは標準化されたものである.j=k=-1;while(k<8){j++;if(str[j]='-')/E 0042オペランドタイプが互換性がない("char"と"const char*")continue;//今回のループk++;if(k==3){telNumbers[n][k]='-';//4番目のk+;}if(str[j]>='A'&&str[j]<='Z'){telNumbers[n][k]=map[str[j]-'A';continue;//今回のループから飛び出し}telNumbers[n][k]=str[j];}telNumbers[n][k] = '\0'; return; }
int main() { int n, i, j; bool noDuplicate; cin >> n;
for (i = 0; i < n; i++) {
cin >> str;
standardizeTel(i);
}
qsort(telNumbers, n, 9, compare);
noDuplicate = true;
i = 0;
while (i < n) {
j = i;
i++;
while (i < n&&strcmp(telNumbers[i], telNumbers[j]) == 0)
i++;
if ((i - j) > 1) {
cout << telNumbers[j] << " " << i - j<
}
···
include
using namespace std;
char map[] = "22233344455566677778889999"; char str[80], telNumbers[100000][9];
int compare(const void elem 1,const voidelem 2){//関数テンプレートsortの配列要素を定義する比較関数return(strcmp((char)elem 1,(char)elem 2);}
void standardizeTel(int n){int j,k;//j元の文字数を計測するために使用され、kは標準化されたものである.j=k=-1;while(k<8){j++;if(str[j]='-')/E 0042オペランドタイプが互換性がない("char"と"const char*")continue;//今回のループk++;if(k==3){telNumbers[n][k]='-';//4番目のk+;}if(str[j]>='A'&&str[j]<='Z'){telNumbers[n][k]=map[str[j]-'A';continue;//今回のループから飛び出し}telNumbers[n][k]=str[j];}telNumbers[n][k] = '\0'; return; }
int main() { int n, i, j; bool noDuplicate; cin >> n;
for (i = 0; i < n; i++) {
cin >> str;
standardizeTel(i);
}
qsort(telNumbers, n, 9, compare);
noDuplicate = true;
i = 0;
while (i < n) {
j = i;
i++;
while (i < n&&strcmp(telNumbers[i], telNumbers[j]) == 0)
i++;
if ((i - j) > 1) {
cout << telNumbers[j] << " " << i - j<
}
···
cin >> n;
for (i = 0; i < n; i++) {
cin >> str;
standardizeTel(i);
}
qsort(telNumbers, n, 9, compare);
noDuplicate = true;
i = 0;
while (i < n) {
j = i;
i++;
while (i < n&&strcmp(telNumbers[i], telNumbers[j]) == 0)
i++;
if ((i - j) > 1) {
cout << telNumbers[j] << " " << i - j<