質問編集履歴

11

2020/07/26 05:05

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,10 @@
52
52
 
53
53
  今の環境はmobaxtarmにUbuntuです。
54
54
 
55
+ ```
56
+
57
+
58
+
55
59
  ### 該当のソースコード
56
60
 
57
61
 

10

2020/07/26 05:05

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
File without changes

9

2020/07/26 05:03

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -54,836 +54,836 @@
54
54
 
55
55
  ### 該当のソースコード
56
56
 
57
+
58
+
57
- C++```
59
+ ```c++
58
-
59
-
60
60
 
61
61
  コード
62
62
 
63
+
64
+
65
+ include <iostream>
66
+
67
+
68
+
69
+ include <fstream>
70
+
71
+
72
+
73
+ include <stdlib.h>
74
+
75
+
76
+
77
+ include <string.h>
78
+
79
+
80
+
81
+ include <cmath>
82
+
83
+
84
+
85
+ define HashSize 1000
86
+
87
+
88
+
89
+ using namespace std;
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ // セルを表わす構造体の定義
98
+
99
+
100
+
101
+ struct cell
102
+
103
+
104
+
105
+ {
106
+
107
+
108
+
109
+ string name; // 名前
110
+
111
+
112
+
113
+ string value;
114
+
115
+
116
+
117
+ struct cell *next; // 次のデータへのポインタ
118
+
119
+
120
+
121
+ };
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ // ハッシュ表
130
+
131
+
132
+
133
+ struct hash
134
+
135
+
136
+
137
+ {
138
+
139
+
140
+
141
+ int size; // ハッシュ表の大きさ
142
+
143
+
144
+
145
+ struct cell **table;
146
+
147
+
148
+
149
+ };
150
+
151
+
152
+
153
+ // ハッシュ関数(keyのハッシュ値を返す)
154
+
155
+
156
+
157
+ // 文字列の1文字ごとの文字コードを加算するハッシュ関数
158
+
159
+
160
+
161
+ int hash1(string key, int size)
162
+
163
+
164
+
165
+ {
166
+
167
+
168
+
169
+ unsigned int v=0;
170
+
171
+
172
+
173
+
174
+
175
+
176
+
177
+ for(int i=0;i<key.length();i++)
178
+
179
+
180
+
181
+ {
182
+
183
+
184
+
185
+ v+=key[i]*pow(2,i);
186
+
187
+
188
+
189
+ }
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ return v%size;
198
+
199
+
200
+
201
+ }
202
+
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+ /*--- ハッシュ表の初期化 ---*/
214
+
215
+
216
+
217
+ int initialize(struct hash *h, int size)
218
+
219
+
220
+
221
+ {
222
+
223
+
224
+
225
+ h->table=(cell**)new struct cell[size];
226
+
227
+
228
+
229
+ h->size=size;
230
+
231
+
232
+
233
+
234
+
235
+
236
+
237
+ for(int i=0;i<size;i++)
238
+
239
+
240
+
241
+ {
242
+
243
+
244
+
245
+ h->table[i]=NULL;
246
+
247
+
248
+
249
+ }
250
+
251
+
252
+
253
+ return 1;
254
+
255
+
256
+
257
+ }
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+ // データの追加
266
+
267
+
268
+
269
+ int add(struct hash *h, string name, string value)
270
+
271
+
272
+
273
+ {
274
+
275
+
276
+
277
+ // 追加するデータのハッシュ値
278
+
279
+
280
+
281
+ int hash_value=hash1(name, h->size);
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+ // 接続するデータを格納する要素を生成
290
+
291
+
292
+
293
+ struct cell *temp;
294
+
295
+
296
+
297
+ temp=new struct cell;
298
+
299
+
300
+
301
+ temp->name=name;
302
+
303
+
304
+
305
+ temp->value=value;
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+ // 要素をハッシュに追加(上書きで追加)
314
+
315
+
316
+
317
+ temp->next=h->table[hash_value];
318
+
319
+
320
+
321
+ h->table[hash_value]=temp;
322
+
323
+
324
+
325
+ return 0;
326
+
327
+
328
+
329
+ }
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ struct cell *search_tel(struct hash *head, string name)
338
+
339
+
340
+
341
+ {
342
+
343
+
344
+
345
+ int hash_value=hash1(name,head->size);
346
+
347
+
348
+
349
+ struct cell *buf=head->table[hash_value];
350
+
351
+
352
+
353
+ while(buf!=NULL)
354
+
355
+
356
+
357
+ {
358
+
359
+
360
+
361
+ if(buf->name == name)
362
+
363
+
364
+
365
+ {
366
+
367
+
368
+
369
+ return buf;
370
+
371
+
372
+
373
+ }
374
+
375
+
376
+
377
+ buf=buf->next;
378
+
379
+
380
+
381
+ }
382
+
383
+
384
+
385
+ return NULL;
386
+
387
+
388
+
389
+ }
390
+
391
+
392
+
393
+
394
+
395
+
396
+
397
+ // ファイルの要素数を取得
398
+
399
+
400
+
401
+ int get_nx(char *f_name)
402
+
403
+
404
+
405
+ {
406
+
407
+
408
+
409
+ ifstream fp(f_name); // ファイルオープン
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+ if(!fp)
418
+
419
+
420
+
421
+ {
422
+
423
+
424
+
425
+ cout<<"Can't open file. "<<f_name<<endl;
426
+
427
+
428
+
429
+ exit(-1);
430
+
431
+
432
+
433
+ }
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+ // ファイルの要素数を取得
442
+
443
+
444
+
445
+ string line;
446
+
447
+
448
+
449
+ int nx=0;
450
+
451
+
452
+
453
+ while(fp>>line)
454
+
455
+
456
+
457
+ {
458
+
459
+
460
+
461
+ nx++;
462
+
463
+
464
+
465
+ }
466
+
467
+
468
+
469
+ fp.close();
470
+
471
+
472
+
473
+ return nx;
474
+
475
+
476
+
477
+ }
478
+
479
+
480
+
481
+
482
+
483
+
484
+
485
+ // 2つのint型の変数を入れ替える
486
+
487
+
488
+
489
+ void exchange(string *a, string *b)
490
+
491
+
492
+
493
+ {
494
+
495
+
496
+
497
+ string tmp;
498
+
499
+
500
+
501
+ tmp=*a;
502
+
503
+
504
+
505
+ *a=*b;
506
+
507
+
508
+
509
+ *b=tmp;
510
+
511
+
512
+
513
+ }
514
+
515
+
516
+
517
+
518
+
519
+
520
+
521
+ // アルファベット順にソート
522
+
523
+
524
+
525
+ void name_sort(string name_data[], int left,int right)
526
+
527
+
528
+
529
+ {
530
+
531
+
532
+
533
+ int index1=left; // 左カーソル
534
+
535
+
536
+
537
+ int index2=right; // 右カーソル
538
+
539
+
540
+
541
+ string x=name_data[left]; // 選択要素
542
+
543
+
544
+
545
+ // 2-5. 左右の検索位置が逆転するまで繰り返す
546
+
547
+
548
+
549
+ do
550
+
551
+
552
+
553
+ {
554
+
555
+
556
+
557
+ // 2-1. 選択した要素より大きい要素を左から検索
558
+
559
+
560
+
561
+ while (name_data[index1]<x)
562
+
563
+
564
+
565
+ {
566
+
567
+
568
+
569
+ index1++;
570
+
571
+
572
+
573
+ }
574
+
575
+
576
+
577
+ // 2-2. 選択した要素より小さい要素を右から検索
578
+
579
+
580
+
581
+ while (name_data[index2]>x)
582
+
583
+
584
+
585
+ {
586
+
587
+
588
+
589
+ index2--;
590
+
591
+
592
+
593
+ }
594
+
595
+
596
+
597
+ // 2-3. 入れ替え
598
+
599
+
600
+
601
+ if (index1<=index2)
602
+
603
+
604
+
605
+ {
606
+
607
+
608
+
609
+ exchange(&name_data[index1],&name_data[index2]);
610
+
611
+
612
+
613
+ index1++;
614
+
615
+
616
+
617
+ index2--;
618
+
619
+
620
+
621
+ }
622
+
623
+
624
+
625
+ }while (index1<index2);
626
+
627
+
628
+
629
+ // 2-6. 入れ替え
630
+
631
+
632
+
633
+ if(left<index2) {
634
+
635
+
636
+
637
+ exchange(&name_data[left],&name_data[index2]);
638
+
639
+
640
+
641
+ }
642
+
643
+
644
+
645
+ // 小さいもの同士でクイックソート
646
+
647
+
648
+
649
+ if(left<index2) {
650
+
651
+
652
+
653
+ name_sort(name_data,left,index2);
654
+
655
+
656
+
657
+ }
658
+
659
+
660
+
661
+ // 大きいもの同士でクイックソート
662
+
663
+
664
+
665
+ if(index1<right) {
666
+
667
+
668
+
669
+ name_sort(name_data,index1,right);
670
+
671
+
672
+
673
+ }
674
+
675
+
676
+
677
+ }
678
+
679
+
680
+
681
+
682
+
683
+
684
+
685
+ int main(int argc, char *argv[]){
686
+
687
+
688
+
689
+ if(argc==1) // 引数がない場合
690
+
691
+
692
+
693
+ {
694
+
695
+
696
+
697
+ cout<< "input file name\n";
698
+
699
+
700
+
701
+ return -1;
702
+
703
+
704
+
705
+ }
706
+
707
+
708
+
709
+ ifstream fp(argv[1]); // ファイルオープン
710
+
711
+
712
+
713
+ // ハッシュ表の定義と初期化
714
+
715
+
716
+
717
+ struct hash *hash_table;
718
+
719
+
720
+
721
+ hash_table=new struct hash;
722
+
723
+
724
+
725
+ initialize(hash_table, HashSize);
726
+
727
+
728
+
729
+ int nx=get_nx(argv[1]); // ファイルの要素数を取得
730
+
731
+
732
+
733
+ string *name_data;
734
+
735
+
736
+
737
+ name_data=new string[nx]; // 名前を格納
738
+
739
+
740
+
741
+
742
+
743
+
744
+
745
+ string line;
746
+
747
+
748
+
749
+ int i=0;
750
+
751
+
752
+
753
+ while(fp>>line)
754
+
755
+
756
+
757
+ {
758
+
759
+
760
+
761
+ // 名前と電話番号に分割
762
+
763
+
764
+
765
+ int index=line.find(",");
766
+
767
+
768
+
769
+ string name=line.substr(0,index);
770
+
771
+
772
+
773
+ string tel=line.substr(index+1);
774
+
775
+
776
+
777
+
778
+
779
+
780
+
781
+ // ハッシュにデータを追加
782
+
783
+
784
+
785
+ add(hash_table,name,tel);
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+
795
+
796
+
797
+ // 名前を配列に格納
798
+
799
+
800
+
801
+ name_data[i]=name;
802
+
803
+
804
+
805
+ i++;
806
+
807
+
808
+
809
+ }
810
+
811
+
812
+
813
+ fp.close();
814
+
815
+
816
+
817
+
818
+
819
+
820
+
821
+ // 名前をアルファベット順にソート
822
+
823
+
824
+
825
+ name_sort(name_data, 0, nx-1);
826
+
827
+
828
+
829
+
830
+
831
+
832
+
833
+ // 全表示
834
+
835
+
836
+
837
+
838
+
839
+ for(int ky=0;ky<nx;ky++)
840
+
841
+
842
+
843
+ {
844
+
845
+
846
+
847
+ struct cell *s_cell=search_tel(hash_table, name_data[ky]);
848
+
849
+
850
+
851
+
852
+
853
+
854
+
855
+ if (s_cell==NULL) {
856
+
857
+
858
+
859
+ cout<<s_cell->name<< "-> none"<<endl;
860
+
861
+
862
+
863
+ } else {
864
+
865
+
866
+
867
+ cout<<s_cell->name<<"-> "<<s_cell->value<<endl;
868
+
869
+
870
+
871
+ }
872
+
873
+
874
+
875
+ }
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+ return 0;
884
+
885
+
886
+
887
+ }
888
+
63
889
  ```
64
-
65
- include <iostream>
66
-
67
-
68
-
69
- include <fstream>
70
-
71
-
72
-
73
- include <stdlib.h>
74
-
75
-
76
-
77
- include <string.h>
78
-
79
-
80
-
81
- include <cmath>
82
-
83
-
84
-
85
- define HashSize 1000
86
-
87
-
88
-
89
- using namespace std;
90
-
91
-
92
-
93
-
94
-
95
-
96
-
97
- // セルを表わす構造体の定義
98
-
99
-
100
-
101
- struct cell
102
-
103
-
104
-
105
- {
106
-
107
-
108
-
109
- string name; // 名前
110
-
111
-
112
-
113
- string value;
114
-
115
-
116
-
117
- struct cell *next; // 次のデータへのポインタ
118
-
119
-
120
-
121
- };
122
-
123
-
124
-
125
-
126
-
127
-
128
-
129
- // ハッシュ表
130
-
131
-
132
-
133
- struct hash
134
-
135
-
136
-
137
- {
138
-
139
-
140
-
141
- int size; // ハッシュ表の大きさ
142
-
143
-
144
-
145
- struct cell **table;
146
-
147
-
148
-
149
- };
150
-
151
-
152
-
153
- // ハッシュ関数(keyのハッシュ値を返す)
154
-
155
-
156
-
157
- // 文字列の1文字ごとの文字コードを加算するハッシュ関数
158
-
159
-
160
-
161
- int hash1(string key, int size)
162
-
163
-
164
-
165
- {
166
-
167
-
168
-
169
- unsigned int v=0;
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
- for(int i=0;i<key.length();i++)
178
-
179
-
180
-
181
- {
182
-
183
-
184
-
185
- v+=key[i]*pow(2,i);
186
-
187
-
188
-
189
- }
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
- return v%size;
198
-
199
-
200
-
201
- }
202
-
203
-
204
-
205
-
206
-
207
-
208
-
209
-
210
-
211
-
212
-
213
- /*--- ハッシュ表の初期化 ---*/
214
-
215
-
216
-
217
- int initialize(struct hash *h, int size)
218
-
219
-
220
-
221
- {
222
-
223
-
224
-
225
- h->table=(cell**)new struct cell[size];
226
-
227
-
228
-
229
- h->size=size;
230
-
231
-
232
-
233
-
234
-
235
-
236
-
237
- for(int i=0;i<size;i++)
238
-
239
-
240
-
241
- {
242
-
243
-
244
-
245
- h->table[i]=NULL;
246
-
247
-
248
-
249
- }
250
-
251
-
252
-
253
- return 1;
254
-
255
-
256
-
257
- }
258
-
259
-
260
-
261
-
262
-
263
-
264
-
265
- // データの追加
266
-
267
-
268
-
269
- int add(struct hash *h, string name, string value)
270
-
271
-
272
-
273
- {
274
-
275
-
276
-
277
- // 追加するデータのハッシュ値
278
-
279
-
280
-
281
- int hash_value=hash1(name, h->size);
282
-
283
-
284
-
285
-
286
-
287
-
288
-
289
- // 接続するデータを格納する要素を生成
290
-
291
-
292
-
293
- struct cell *temp;
294
-
295
-
296
-
297
- temp=new struct cell;
298
-
299
-
300
-
301
- temp->name=name;
302
-
303
-
304
-
305
- temp->value=value;
306
-
307
-
308
-
309
-
310
-
311
-
312
-
313
- // 要素をハッシュに追加(上書きで追加)
314
-
315
-
316
-
317
- temp->next=h->table[hash_value];
318
-
319
-
320
-
321
- h->table[hash_value]=temp;
322
-
323
-
324
-
325
- return 0;
326
-
327
-
328
-
329
- }
330
-
331
-
332
-
333
-
334
-
335
-
336
-
337
- struct cell *search_tel(struct hash *head, string name)
338
-
339
-
340
-
341
- {
342
-
343
-
344
-
345
- int hash_value=hash1(name,head->size);
346
-
347
-
348
-
349
- struct cell *buf=head->table[hash_value];
350
-
351
-
352
-
353
- while(buf!=NULL)
354
-
355
-
356
-
357
- {
358
-
359
-
360
-
361
- if(buf->name == name)
362
-
363
-
364
-
365
- {
366
-
367
-
368
-
369
- return buf;
370
-
371
-
372
-
373
- }
374
-
375
-
376
-
377
- buf=buf->next;
378
-
379
-
380
-
381
- }
382
-
383
-
384
-
385
- return NULL;
386
-
387
-
388
-
389
- }
390
-
391
-
392
-
393
-
394
-
395
-
396
-
397
- // ファイルの要素数を取得
398
-
399
-
400
-
401
- int get_nx(char *f_name)
402
-
403
-
404
-
405
- {
406
-
407
-
408
-
409
- ifstream fp(f_name); // ファイルオープン
410
-
411
-
412
-
413
-
414
-
415
-
416
-
417
- if(!fp)
418
-
419
-
420
-
421
- {
422
-
423
-
424
-
425
- cout<<"Can't open file. "<<f_name<<endl;
426
-
427
-
428
-
429
- exit(-1);
430
-
431
-
432
-
433
- }
434
-
435
-
436
-
437
-
438
-
439
-
440
-
441
- // ファイルの要素数を取得
442
-
443
-
444
-
445
- string line;
446
-
447
-
448
-
449
- int nx=0;
450
-
451
-
452
-
453
- while(fp>>line)
454
-
455
-
456
-
457
- {
458
-
459
-
460
-
461
- nx++;
462
-
463
-
464
-
465
- }
466
-
467
-
468
-
469
- fp.close();
470
-
471
-
472
-
473
- return nx;
474
-
475
-
476
-
477
- }
478
-
479
-
480
-
481
-
482
-
483
-
484
-
485
- // 2つのint型の変数を入れ替える
486
-
487
-
488
-
489
- void exchange(string *a, string *b)
490
-
491
-
492
-
493
- {
494
-
495
-
496
-
497
- string tmp;
498
-
499
-
500
-
501
- tmp=*a;
502
-
503
-
504
-
505
- *a=*b;
506
-
507
-
508
-
509
- *b=tmp;
510
-
511
-
512
-
513
- }
514
-
515
-
516
-
517
-
518
-
519
-
520
-
521
- // アルファベット順にソート
522
-
523
-
524
-
525
- void name_sort(string name_data[], int left,int right)
526
-
527
-
528
-
529
- {
530
-
531
-
532
-
533
- int index1=left; // 左カーソル
534
-
535
-
536
-
537
- int index2=right; // 右カーソル
538
-
539
-
540
-
541
- string x=name_data[left]; // 選択要素
542
-
543
-
544
-
545
- // 2-5. 左右の検索位置が逆転するまで繰り返す
546
-
547
-
548
-
549
- do
550
-
551
-
552
-
553
- {
554
-
555
-
556
-
557
- // 2-1. 選択した要素より大きい要素を左から検索
558
-
559
-
560
-
561
- while (name_data[index1]<x)
562
-
563
-
564
-
565
- {
566
-
567
-
568
-
569
- index1++;
570
-
571
-
572
-
573
- }
574
-
575
-
576
-
577
- // 2-2. 選択した要素より小さい要素を右から検索
578
-
579
-
580
-
581
- while (name_data[index2]>x)
582
-
583
-
584
-
585
- {
586
-
587
-
588
-
589
- index2--;
590
-
591
-
592
-
593
- }
594
-
595
-
596
-
597
- // 2-3. 入れ替え
598
-
599
-
600
-
601
- if (index1<=index2)
602
-
603
-
604
-
605
- {
606
-
607
-
608
-
609
- exchange(&name_data[index1],&name_data[index2]);
610
-
611
-
612
-
613
- index1++;
614
-
615
-
616
-
617
- index2--;
618
-
619
-
620
-
621
- }
622
-
623
-
624
-
625
- }while (index1<index2);
626
-
627
-
628
-
629
- // 2-6. 入れ替え
630
-
631
-
632
-
633
- if(left<index2) {
634
-
635
-
636
-
637
- exchange(&name_data[left],&name_data[index2]);
638
-
639
-
640
-
641
- }
642
-
643
-
644
-
645
- // 小さいもの同士でクイックソート
646
-
647
-
648
-
649
- if(left<index2) {
650
-
651
-
652
-
653
- name_sort(name_data,left,index2);
654
-
655
-
656
-
657
- }
658
-
659
-
660
-
661
- // 大きいもの同士でクイックソート
662
-
663
-
664
-
665
- if(index1<right) {
666
-
667
-
668
-
669
- name_sort(name_data,index1,right);
670
-
671
-
672
-
673
- }
674
-
675
-
676
-
677
- }
678
-
679
-
680
-
681
-
682
-
683
-
684
-
685
- int main(int argc, char *argv[]){
686
-
687
-
688
-
689
- if(argc==1) // 引数がない場合
690
-
691
-
692
-
693
- {
694
-
695
-
696
-
697
- cout<< "input file name\n";
698
-
699
-
700
-
701
- return -1;
702
-
703
-
704
-
705
- }
706
-
707
-
708
-
709
- ifstream fp(argv[1]); // ファイルオープン
710
-
711
-
712
-
713
- // ハッシュ表の定義と初期化
714
-
715
-
716
-
717
- struct hash *hash_table;
718
-
719
-
720
-
721
- hash_table=new struct hash;
722
-
723
-
724
-
725
- initialize(hash_table, HashSize);
726
-
727
-
728
-
729
- int nx=get_nx(argv[1]); // ファイルの要素数を取得
730
-
731
-
732
-
733
- string *name_data;
734
-
735
-
736
-
737
- name_data=new string[nx]; // 名前を格納
738
-
739
-
740
-
741
-
742
-
743
-
744
-
745
- string line;
746
-
747
-
748
-
749
- int i=0;
750
-
751
-
752
-
753
- while(fp>>line)
754
-
755
-
756
-
757
- {
758
-
759
-
760
-
761
- // 名前と電話番号に分割
762
-
763
-
764
-
765
- int index=line.find(",");
766
-
767
-
768
-
769
- string name=line.substr(0,index);
770
-
771
-
772
-
773
- string tel=line.substr(index+1);
774
-
775
-
776
-
777
-
778
-
779
-
780
-
781
- // ハッシュにデータを追加
782
-
783
-
784
-
785
- add(hash_table,name,tel);
786
-
787
-
788
-
789
-
790
-
791
-
792
-
793
-
794
-
795
-
796
-
797
- // 名前を配列に格納
798
-
799
-
800
-
801
- name_data[i]=name;
802
-
803
-
804
-
805
- i++;
806
-
807
-
808
-
809
- }
810
-
811
-
812
-
813
- fp.close();
814
-
815
-
816
-
817
-
818
-
819
-
820
-
821
- // 名前をアルファベット順にソート
822
-
823
-
824
-
825
- name_sort(name_data, 0, nx-1);
826
-
827
-
828
-
829
-
830
-
831
-
832
-
833
- // 全表示
834
-
835
-
836
-
837
-
838
-
839
- for(int ky=0;ky<nx;ky++)
840
-
841
-
842
-
843
- {
844
-
845
-
846
-
847
- struct cell *s_cell=search_tel(hash_table, name_data[ky]);
848
-
849
-
850
-
851
-
852
-
853
-
854
-
855
- if (s_cell==NULL) {
856
-
857
-
858
-
859
- cout<<s_cell->name<< "-> none"<<endl;
860
-
861
-
862
-
863
- } else {
864
-
865
-
866
-
867
- cout<<s_cell->name<<"-> "<<s_cell->value<<endl;
868
-
869
-
870
-
871
- }
872
-
873
-
874
-
875
- }
876
-
877
-
878
-
879
-
880
-
881
-
882
-
883
- return 0;
884
-
885
-
886
-
887
- }
888
-
889
- ```

8

2020/07/26 05:03

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -885,3 +885,5 @@
885
885
 
886
886
 
887
887
  }
888
+
889
+ ```

7

2020/07/26 05:02

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
File without changes

6

2020/07/26 04:33

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -62,27 +62,27 @@
62
62
 
63
63
  ```
64
64
 
65
- #include <iostream>
65
+ include <iostream>
66
-
67
-
68
-
66
+
67
+
68
+
69
- #include <fstream>
69
+ include <fstream>
70
-
71
-
72
-
70
+
71
+
72
+
73
- #include <stdlib.h>
73
+ include <stdlib.h>
74
-
75
-
76
-
74
+
75
+
76
+
77
- #include <string.h>
77
+ include <string.h>
78
-
79
-
80
-
78
+
79
+
80
+
81
- #include <cmath>
81
+ include <cmath>
82
-
83
-
84
-
82
+
83
+
84
+
85
- #define HashSize 1000
85
+ define HashSize 1000
86
86
 
87
87
 
88
88
 

5

2020/07/26 04:33

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -62,27 +62,27 @@
62
62
 
63
63
  ```
64
64
 
65
- include <iostream>
65
+ #include <iostream>
66
-
67
-
68
-
66
+
67
+
68
+
69
- include <fstream>
69
+ #include <fstream>
70
-
71
-
72
-
70
+
71
+
72
+
73
- include <stdlib.h>
73
+ #include <stdlib.h>
74
-
75
-
76
-
74
+
75
+
76
+
77
- include <string.h>
77
+ #include <string.h>
78
-
79
-
80
-
78
+
79
+
80
+
81
- include <cmath>
81
+ #include <cmath>
82
-
83
-
84
-
82
+
83
+
84
+
85
- define HashSize 1000
85
+ #define HashSize 1000
86
86
 
87
87
 
88
88
 

4

2020/07/26 04:32

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- ### 前提・実現したいこと
1
+ ```### 前提・実現したいこと
2
2
 
3
3
  1行が「氏名,携帯電話番号」で構成されるデータファイル(data.txt)を読み込み、氏名をアルファベット順にソートし、氏名に対応する電話番号を探索して表示するプログラムを作成した(sample.cpp)。
4
4
 
@@ -54,16 +54,14 @@
54
54
 
55
55
  ### 該当のソースコード
56
56
 
57
- C++
57
+ C++```
58
-
59
-
60
-
58
+
59
+
60
+
61
- ソースコード
61
+ コード
62
62
 
63
63
  ```
64
64
 
65
- 〈Code〉
66
-
67
65
  include <iostream>
68
66
 
69
67
 

3

2020/07/26 04:31

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -62,29 +62,29 @@
62
62
 
63
63
  ```
64
64
 
65
-
65
+ 〈Code〉
66
-
66
+
67
- #include <iostream>
67
+ include <iostream>
68
-
69
-
70
-
68
+
69
+
70
+
71
- #include <fstream>
71
+ include <fstream>
72
-
73
-
74
-
72
+
73
+
74
+
75
- #include <stdlib.h>
75
+ include <stdlib.h>
76
-
77
-
78
-
76
+
77
+
78
+
79
- #include <string.h>
79
+ include <string.h>
80
-
81
-
82
-
80
+
81
+
82
+
83
- #include <cmath>
83
+ include <cmath>
84
-
85
-
86
-
84
+
85
+
86
+
87
- #define HashSize 1000
87
+ define HashSize 1000
88
88
 
89
89
 
90
90
 

2

2020/07/26 04:30

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
File without changes

1

2020/07/26 04:29

投稿

Amateur0845
Amateur0845

スコア6

test CHANGED
File without changes
test CHANGED
@@ -44,6 +44,14 @@
44
44
 
45
45
  など引数にハッシュ関数を持つ関数は全てエラーが出てしまいます。
46
46
 
47
+ なぜエラーが出るのか調べても分かりません。
48
+
49
+ 定義もしているつもりなので手のほどこし様なかいです。
50
+
51
+ 環境なのでしょうか?
52
+
53
+ 今の環境はmobaxtarmにUbuntuです。
54
+
47
55
  ### 該当のソースコード
48
56
 
49
57
  C++