C# 配列というものについてそれとなく語る ~闇が深そうなコードを添えて~
あいさつ
どうも、はかせです。
最近学校でもネット上でも
「配列の扱いを知らない人」が多いように感じます。
(あくまで自分の目に見えている範囲だけの話ですが)
そこで今回は「配列を知らないorよくわかってない人」向けに
「配列とは何ぞや」っていうのを書いていきます。
配列とは
プログラミングにおける配列っていうのは
「複数の同じ型のデータを
ひとまとめにして扱うもの」
です。
要はデータの集まりです。
C#で書くとこんな感じ
int[] intArray; intArray = new int[10];
使い方は基本的な変数とかと同じで
・変数と型宣言
・宣言した変数に宣言した型の実体を代入する
配列宣言は1行目です。
C#では型名[]で配列型を宣言できます。
そして実体代入は2行目。
ここもnewで確保した実体を代入しているだけです。
配列のイメージはこんな感じ
intArrayというものの中には
0~9まで割り振られた
int型のデータが入っている感じです。
例としてintを使いましたが、
型はintである必要はありません。
stringでもdoubleでも
なんなら自作のクラスや構造体だってOKです。
配列はあくまで
複数の同じ型のデータをひとまとめにして扱うものです。
それ以上でも以下でもありません。
それを助ける機能が付いていたり、
より性能を追い求めたりしているものはありますが、
考え方の根っこは変わりません
配列が便利な場面
さて配列の基本の「き」的な所を書いたところで
実際配列の何が強いんだって話をしましょう。
よくあるあるな例ではありますが、
合計値と平均値でやりましょう。
まず配列が無い場合の合計値、平均値はこんな感じですかね。
int one = 1; int two = 2; int three = 3; int four = 4; int five = 5; int six = 6; int seven = 7; int eight = 8; int nine = 9; int ten = 10; int sum = one + two + three + four + five + six + seven + eight + nine + ten; float ave = (float)sum / 10;
全部手打ちかつ、マジックナンバーのオンパレードですね・・・
速度を追い求めてとかそういう場面じゃない限り
極力書きたくないコードです。
では次に配列を使った版
int[] intArray = new int[10]; for(int i = 0;i < intArray.length;i++) { intArray[i] = i + 1; } int sum = 0; for(int i = 0;i < intArray.lenth;i++) { sum += intArray[i]; } float ave = (float)sum / intArray.lenth;
全部手打ちでやっていた変数宣言が全て
プログラムで自動化されマジックナンバーも最小限になりました。
実際配列の要素数を指定する値も変数にできるので
やろうと思えばマジックナンバーを完全駆逐することもできます。
(。´・ω・)ん?
別に配列でやってもやらなくても大差ないんじゃないかって?
じゃあこの値の数を1000個にしてみましょうか♪
コードの長さが中々に頭おかしいことになってるので
折りたたみました。
(実は折りたたむの初めて)
見る方は覚悟をしたうえでご覧ください。
int i1 = 1; int i2 = 2; int i3 = 3; int i4 = 4; int i5 = 5; int i6 = 6; int i7 = 7; int i8 = 8; int i9 = 9; int i10 = 10; int i11 = 11; int i12 = 12; int i13 = 13; int i14 = 14; int i15 = 15; int i16 = 16; int i17 = 17; int i18 = 18; int i19 = 19; int i20 = 20; int i21 = 21; int i22 = 22; int i23 = 23; int i24 = 24; int i25 = 25; int i26 = 26; int i27 = 27; int i28 = 28; int i29 = 29; int i30 = 30; int i31 = 31; int i32 = 32; int i33 = 33; int i34 = 34; int i35 = 35; int i36 = 36; int i37 = 37; int i38 = 38; int i39 = 39; int i40 = 40; int i41 = 41; int i42 = 42; int i43 = 43; int i44 = 44; int i45 = 45; int i46 = 46; int i47 = 47; int i48 = 48; int i49 = 49; int i50 = 50; int i51 = 51; int i52 = 52; int i53 = 53; int i54 = 54; int i55 = 55; int i56 = 56; int i57 = 57; int i58 = 58; int i59 = 59; int i60 = 60; int i61 = 61; int i62 = 62; int i63 = 63; int i64 = 64; int i65 = 65; int i66 = 66; int i67 = 67; int i68 = 68; int i69 = 69; int i70 = 70; int i71 = 71; int i72 = 72; int i73 = 73; int i74 = 74; int i75 = 75; int i76 = 76; int i77 = 77; int i78 = 78; int i79 = 79; int i80 = 80; int i81 = 81; int i82 = 82; int i83 = 83; int i84 = 84; int i85 = 85; int i86 = 86; int i87 = 87; int i88 = 88; int i89 = 89; int i90 = 90; int i91 = 91; int i92 = 92; int i93 = 93; int i94 = 94; int i95 = 95; int i96 = 96; int i97 = 97; int i98 = 98; int i99 = 99; int i100 = 100; int i101 = 101; int i102 = 102; int i103 = 103; int i104 = 104; int i105 = 105; int i106 = 106; int i107 = 107; int i108 = 108; int i109 = 109; int i110 = 110; int i111 = 111; int i112 = 112; int i113 = 113; int i114 = 114; int i115 = 115; int i116 = 116; int i117 = 117; int i118 = 118; int i119 = 119; int i120 = 120; int i121 = 121; int i122 = 122; int i123 = 123; int i124 = 124; int i125 = 125; int i126 = 126; int i127 = 127; int i128 = 128; int i129 = 129; int i130 = 130; int i131 = 131; int i132 = 132; int i133 = 133; int i134 = 134; int i135 = 135; int i136 = 136; int i137 = 137; int i138 = 138; int i139 = 139; int i140 = 140; int i141 = 141; int i142 = 142; int i143 = 143; int i144 = 144; int i145 = 145; int i146 = 146; int i147 = 147; int i148 = 148; int i149 = 149; int i150 = 150; int i151 = 151; int i152 = 152; int i153 = 153; int i154 = 154; int i155 = 155; int i156 = 156; int i157 = 157; int i158 = 158; int i159 = 159; int i160 = 160; int i161 = 161; int i162 = 162; int i163 = 163; int i164 = 164; int i165 = 165; int i166 = 166; int i167 = 167; int i168 = 168; int i169 = 169; int i170 = 170; int i171 = 171; int i172 = 172; int i173 = 173; int i174 = 174; int i175 = 175; int i176 = 176; int i177 = 177; int i178 = 178; int i179 = 179; int i180 = 180; int i181 = 181; int i182 = 182; int i183 = 183; int i184 = 184; int i185 = 185; int i186 = 186; int i187 = 187; int i188 = 188; int i189 = 189; int i190 = 190; int i191 = 191; int i192 = 192; int i193 = 193; int i194 = 194; int i195 = 195; int i196 = 196; int i197 = 197; int i198 = 198; int i199 = 199; int i200 = 200; int i201 = 201; int i202 = 202; int i203 = 203; int i204 = 204; int i205 = 205; int i206 = 206; int i207 = 207; int i208 = 208; int i209 = 209; int i210 = 210; int i211 = 211; int i212 = 212; int i213 = 213; int i214 = 214; int i215 = 215; int i216 = 216; int i217 = 217; int i218 = 218; int i219 = 219; int i220 = 220; int i221 = 221; int i222 = 222; int i223 = 223; int i224 = 224; int i225 = 225; int i226 = 226; int i227 = 227; int i228 = 228; int i229 = 229; int i230 = 230; int i231 = 231; int i232 = 232; int i233 = 233; int i234 = 234; int i235 = 235; int i236 = 236; int i237 = 237; int i238 = 238; int i239 = 239; int i240 = 240; int i241 = 241; int i242 = 242; int i243 = 243; int i244 = 244; int i245 = 245; int i246 = 246; int i247 = 247; int i248 = 248; int i249 = 249; int i250 = 250; int i251 = 251; int i252 = 252; int i253 = 253; int i254 = 254; int i255 = 255; int i256 = 256; int i257 = 257; int i258 = 258; int i259 = 259; int i260 = 260; int i261 = 261; int i262 = 262; int i263 = 263; int i264 = 264; int i265 = 265; int i266 = 266; int i267 = 267; int i268 = 268; int i269 = 269; int i270 = 270; int i271 = 271; int i272 = 272; int i273 = 273; int i274 = 274; int i275 = 275; int i276 = 276; int i277 = 277; int i278 = 278; int i279 = 279; int i280 = 280; int i281 = 281; int i282 = 282; int i283 = 283; int i284 = 284; int i285 = 285; int i286 = 286; int i287 = 287; int i288 = 288; int i289 = 289; int i290 = 290; int i291 = 291; int i292 = 292; int i293 = 293; int i294 = 294; int i295 = 295; int i296 = 296; int i297 = 297; int i298 = 298; int i299 = 299; int i300 = 300; int i301 = 301; int i302 = 302; int i303 = 303; int i304 = 304; int i305 = 305; int i306 = 306; int i307 = 307; int i308 = 308; int i309 = 309; int i310 = 310; int i311 = 311; int i312 = 312; int i313 = 313; int i314 = 314; int i315 = 315; int i316 = 316; int i317 = 317; int i318 = 318; int i319 = 319; int i320 = 320; int i321 = 321; int i322 = 322; int i323 = 323; int i324 = 324; int i325 = 325; int i326 = 326; int i327 = 327; int i328 = 328; int i329 = 329; int i330 = 330; int i331 = 331; int i332 = 332; int i333 = 333; int i334 = 334; int i335 = 335; int i336 = 336; int i337 = 337; int i338 = 338; int i339 = 339; int i340 = 340; int i341 = 341; int i342 = 342; int i343 = 343; int i344 = 344; int i345 = 345; int i346 = 346; int i347 = 347; int i348 = 348; int i349 = 349; int i350 = 350; int i351 = 351; int i352 = 352; int i353 = 353; int i354 = 354; int i355 = 355; int i356 = 356; int i357 = 357; int i358 = 358; int i359 = 359; int i360 = 360; int i361 = 361; int i362 = 362; int i363 = 363; int i364 = 364; int i365 = 365; int i366 = 366; int i367 = 367; int i368 = 368; int i369 = 369; int i370 = 370; int i371 = 371; int i372 = 372; int i373 = 373; int i374 = 374; int i375 = 375; int i376 = 376; int i377 = 377; int i378 = 378; int i379 = 379; int i380 = 380; int i381 = 381; int i382 = 382; int i383 = 383; int i384 = 384; int i385 = 385; int i386 = 386; int i387 = 387; int i388 = 388; int i389 = 389; int i390 = 390; int i391 = 391; int i392 = 392; int i393 = 393; int i394 = 394; int i395 = 395; int i396 = 396; int i397 = 397; int i398 = 398; int i399 = 399; int i400 = 400; int i401 = 401; int i402 = 402; int i403 = 403; int i404 = 404; int i405 = 405; int i406 = 406; int i407 = 407; int i408 = 408; int i409 = 409; int i410 = 410; int i411 = 411; int i412 = 412; int i413 = 413; int i414 = 414; int i415 = 415; int i416 = 416; int i417 = 417; int i418 = 418; int i419 = 419; int i420 = 420; int i421 = 421; int i422 = 422; int i423 = 423; int i424 = 424; int i425 = 425; int i426 = 426; int i427 = 427; int i428 = 428; int i429 = 429; int i430 = 430; int i431 = 431; int i432 = 432; int i433 = 433; int i434 = 434; int i435 = 435; int i436 = 436; int i437 = 437; int i438 = 438; int i439 = 439; int i440 = 440; int i441 = 441; int i442 = 442; int i443 = 443; int i444 = 444; int i445 = 445; int i446 = 446; int i447 = 447; int i448 = 448; int i449 = 449; int i450 = 450; int i451 = 451; int i452 = 452; int i453 = 453; int i454 = 454; int i455 = 455; int i456 = 456; int i457 = 457; int i458 = 458; int i459 = 459; int i460 = 460; int i461 = 461; int i462 = 462; int i463 = 463; int i464 = 464; int i465 = 465; int i466 = 466; int i467 = 467; int i468 = 468; int i469 = 469; int i470 = 470; int i471 = 471; int i472 = 472; int i473 = 473; int i474 = 474; int i475 = 475; int i476 = 476; int i477 = 477; int i478 = 478; int i479 = 479; int i480 = 480; int i481 = 481; int i482 = 482; int i483 = 483; int i484 = 484; int i485 = 485; int i486 = 486; int i487 = 487; int i488 = 488; int i489 = 489; int i490 = 490; int i491 = 491; int i492 = 492; int i493 = 493; int i494 = 494; int i495 = 495; int i496 = 496; int i497 = 497; int i498 = 498; int i499 = 499; int i500 = 500; int i501 = 501; int i502 = 502; int i503 = 503; int i504 = 504; int i505 = 505; int i506 = 506; int i507 = 507; int i508 = 508; int i509 = 509; int i510 = 510; int i511 = 511; int i512 = 512; int i513 = 513; int i514 = 514; int i515 = 515; int i516 = 516; int i517 = 517; int i518 = 518; int i519 = 519; int i520 = 520; int i521 = 521; int i522 = 522; int i523 = 523; int i524 = 524; int i525 = 525; int i526 = 526; int i527 = 527; int i528 = 528; int i529 = 529; int i530 = 530; int i531 = 531; int i532 = 532; int i533 = 533; int i534 = 534; int i535 = 535; int i536 = 536; int i537 = 537; int i538 = 538; int i539 = 539; int i540 = 540; int i541 = 541; int i542 = 542; int i543 = 543; int i544 = 544; int i545 = 545; int i546 = 546; int i547 = 547; int i548 = 548; int i549 = 549; int i550 = 550; int i551 = 551; int i552 = 552; int i553 = 553; int i554 = 554; int i555 = 555; int i556 = 556; int i557 = 557; int i558 = 558; int i559 = 559; int i560 = 560; int i561 = 561; int i562 = 562; int i563 = 563; int i564 = 564; int i565 = 565; int i566 = 566; int i567 = 567; int i568 = 568; int i569 = 569; int i570 = 570; int i571 = 571; int i572 = 572; int i573 = 573; int i574 = 574; int i575 = 575; int i576 = 576; int i577 = 577; int i578 = 578; int i579 = 579; int i580 = 580; int i581 = 581; int i582 = 582; int i583 = 583; int i584 = 584; int i585 = 585; int i586 = 586; int i587 = 587; int i588 = 588; int i589 = 589; int i590 = 590; int i591 = 591; int i592 = 592; int i593 = 593; int i594 = 594; int i595 = 595; int i596 = 596; int i597 = 597; int i598 = 598; int i599 = 599; int i600 = 600; int i601 = 601; int i602 = 602; int i603 = 603; int i604 = 604; int i605 = 605; int i606 = 606; int i607 = 607; int i608 = 608; int i609 = 609; int i610 = 610; int i611 = 611; int i612 = 612; int i613 = 613; int i614 = 614; int i615 = 615; int i616 = 616; int i617 = 617; int i618 = 618; int i619 = 619; int i620 = 620; int i621 = 621; int i622 = 622; int i623 = 623; int i624 = 624; int i625 = 625; int i626 = 626; int i627 = 627; int i628 = 628; int i629 = 629; int i630 = 630; int i631 = 631; int i632 = 632; int i633 = 633; int i634 = 634; int i635 = 635; int i636 = 636; int i637 = 637; int i638 = 638; int i639 = 639; int i640 = 640; int i641 = 641; int i642 = 642; int i643 = 643; int i644 = 644; int i645 = 645; int i646 = 646; int i647 = 647; int i648 = 648; int i649 = 649; int i650 = 650; int i651 = 651; int i652 = 652; int i653 = 653; int i654 = 654; int i655 = 655; int i656 = 656; int i657 = 657; int i658 = 658; int i659 = 659; int i660 = 660; int i661 = 661; int i662 = 662; int i663 = 663; int i664 = 664; int i665 = 665; int i666 = 666; int i667 = 667; int i668 = 668; int i669 = 669; int i670 = 670; int i671 = 671; int i672 = 672; int i673 = 673; int i674 = 674; int i675 = 675; int i676 = 676; int i677 = 677; int i678 = 678; int i679 = 679; int i680 = 680; int i681 = 681; int i682 = 682; int i683 = 683; int i684 = 684; int i685 = 685; int i686 = 686; int i687 = 687; int i688 = 688; int i689 = 689; int i690 = 690; int i691 = 691; int i692 = 692; int i693 = 693; int i694 = 694; int i695 = 695; int i696 = 696; int i697 = 697; int i698 = 698; int i699 = 699; int i700 = 700; int i701 = 701; int i702 = 702; int i703 = 703; int i704 = 704; int i705 = 705; int i706 = 706; int i707 = 707; int i708 = 708; int i709 = 709; int i710 = 710; int i711 = 711; int i712 = 712; int i713 = 713; int i714 = 714; int i715 = 715; int i716 = 716; int i717 = 717; int i718 = 718; int i719 = 719; int i720 = 720; int i721 = 721; int i722 = 722; int i723 = 723; int i724 = 724; int i725 = 725; int i726 = 726; int i727 = 727; int i728 = 728; int i729 = 729; int i730 = 730; int i731 = 731; int i732 = 732; int i733 = 733; int i734 = 734; int i735 = 735; int i736 = 736; int i737 = 737; int i738 = 738; int i739 = 739; int i740 = 740; int i741 = 741; int i742 = 742; int i743 = 743; int i744 = 744; int i745 = 745; int i746 = 746; int i747 = 747; int i748 = 748; int i749 = 749; int i750 = 750; int i751 = 751; int i752 = 752; int i753 = 753; int i754 = 754; int i755 = 755; int i756 = 756; int i757 = 757; int i758 = 758; int i759 = 759; int i760 = 760; int i761 = 761; int i762 = 762; int i763 = 763; int i764 = 764; int i765 = 765; int i766 = 766; int i767 = 767; int i768 = 768; int i769 = 769; int i770 = 770; int i771 = 771; int i772 = 772; int i773 = 773; int i774 = 774; int i775 = 775; int i776 = 776; int i777 = 777; int i778 = 778; int i779 = 779; int i780 = 780; int i781 = 781; int i782 = 782; int i783 = 783; int i784 = 784; int i785 = 785; int i786 = 786; int i787 = 787; int i788 = 788; int i789 = 789; int i790 = 790; int i791 = 791; int i792 = 792; int i793 = 793; int i794 = 794; int i795 = 795; int i796 = 796; int i797 = 797; int i798 = 798; int i799 = 799; int i800 = 800; int i801 = 801; int i802 = 802; int i803 = 803; int i804 = 804; int i805 = 805; int i806 = 806; int i807 = 807; int i808 = 808; int i809 = 809; int i810 = 810; int i811 = 811; int i812 = 812; int i813 = 813; int i814 = 814; int i815 = 815; int i816 = 816; int i817 = 817; int i818 = 818; int i819 = 819; int i820 = 820; int i821 = 821; int i822 = 822; int i823 = 823; int i824 = 824; int i825 = 825; int i826 = 826; int i827 = 827; int i828 = 828; int i829 = 829; int i830 = 830; int i831 = 831; int i832 = 832; int i833 = 833; int i834 = 834; int i835 = 835; int i836 = 836; int i837 = 837; int i838 = 838; int i839 = 839; int i840 = 840; int i841 = 841; int i842 = 842; int i843 = 843; int i844 = 844; int i845 = 845; int i846 = 846; int i847 = 847; int i848 = 848; int i849 = 849; int i850 = 850; int i851 = 851; int i852 = 852; int i853 = 853; int i854 = 854; int i855 = 855; int i856 = 856; int i857 = 857; int i858 = 858; int i859 = 859; int i860 = 860; int i861 = 861; int i862 = 862; int i863 = 863; int i864 = 864; int i865 = 865; int i866 = 866; int i867 = 867; int i868 = 868; int i869 = 869; int i870 = 870; int i871 = 871; int i872 = 872; int i873 = 873; int i874 = 874; int i875 = 875; int i876 = 876; int i877 = 877; int i878 = 878; int i879 = 879; int i880 = 880; int i881 = 881; int i882 = 882; int i883 = 883; int i884 = 884; int i885 = 885; int i886 = 886; int i887 = 887; int i888 = 888; int i889 = 889; int i890 = 890; int i891 = 891; int i892 = 892; int i893 = 893; int i894 = 894; int i895 = 895; int i896 = 896; int i897 = 897; int i898 = 898; int i899 = 899; int i900 = 900; int i901 = 901; int i902 = 902; int i903 = 903; int i904 = 904; int i905 = 905; int i906 = 906; int i907 = 907; int i908 = 908; int i909 = 909; int i910 = 910; int i911 = 911; int i912 = 912; int i913 = 913; int i914 = 914; int i915 = 915; int i916 = 916; int i917 = 917; int i918 = 918; int i919 = 919; int i920 = 920; int i921 = 921; int i922 = 922; int i923 = 923; int i924 = 924; int i925 = 925; int i926 = 926; int i927 = 927; int i928 = 928; int i929 = 929; int i930 = 930; int i931 = 931; int i932 = 932; int i933 = 933; int i934 = 934; int i935 = 935; int i936 = 936; int i937 = 937; int i938 = 938; int i939 = 939; int i940 = 940; int i941 = 941; int i942 = 942; int i943 = 943; int i944 = 944; int i945 = 945; int i946 = 946; int i947 = 947; int i948 = 948; int i949 = 949; int i950 = 950; int i951 = 951; int i952 = 952; int i953 = 953; int i954 = 954; int i955 = 955; int i956 = 956; int i957 = 957; int i958 = 958; int i959 = 959; int i960 = 960; int i961 = 961; int i962 = 962; int i963 = 963; int i964 = 964; int i965 = 965; int i966 = 966; int i967 = 967; int i968 = 968; int i969 = 969; int i970 = 970; int i971 = 971; int i972 = 972; int i973 = 973; int i974 = 974; int i975 = 975; int i976 = 976; int i977 = 977; int i978 = 978; int i979 = 979; int i980 = 980; int i981 = 981; int i982 = 982; int i983 = 983; int i984 = 984; int i985 = 985; int i986 = 986; int i987 = 987; int i988 = 988; int i989 = 989; int i990 = 990; int i991 = 991; int i992 = 992; int i993 = 993; int i994 = 994; int i995 = 995; int i996 = 996; int i997 = 997; int i998 = 998; int i999 = 999; int i1000 = 1000; int sum = i1 + i2 + i3 + i4 + i5 + i6 + i7 + i8 + i9 + i10 + i11 + i12 + i13 + i14 + i15 + i16 + i17 + i18 + i19 + i20 + i21 + i22 + i23 + i24 + i25 + i26 + i27 + i28 + i29 + i30 + i31 + i32 + i33 + i34 + i35 + i36 + i37 + i38 + i39 + i40 + i41 + i42 + i43 + i44 + i45 + i46 + i47 + i48 + i49 + i50 + i51 + i52 + i53 + i54 + i55 + i56 + i57 + i58 + i59 + i60 + i61 + i62 + i63 + i64 + i65 + i66 + i67 + i68 + i69 + i70 + i71 + i72 + i73 + i74 + i75 + i76 + i77 + i78 + i79 + i80 + i81 + i82 + i83 + i84 + i85 + i86 + i87 + i88 + i89 + i90 + i91 + i92 + i93 + i94 + i95 + i96 + i97 + i98 + i99 + i100 + i101 + i102 + i103 + i104 + i105 + i106 + i107 + i108 + i109 + i110 + i111 + i112 + i113 + i114 + i115 + i116 + i117 + i118 + i119 + i120 + i121 + i122 + i123 + i124 + i125 + i126 + i127 + i128 + i129 + i130 + i131 + i132 + i133 + i134 + i135 + i136 + i137 + i138 + i139 + i140 + i141 + i142 + i143 + i144 + i145 + i146 + i147 + i148 + i149 + i150 + i151 + i152 + i153 + i154 + i155 + i156 + i157 + i158 + i159 + i160 + i161 + i162 + i163 + i164 + i165 + i166 + i167 + i168 + i169 + i170 + i171 + i172 + i173 + i174 + i175 + i176 + i177 + i178 + i179 + i180 + i181 + i182 + i183 + i184 + i185 + i186 + i187 + i188 + i189 + i190 + i191 + i192 + i193 + i194 + i195 + i196 + i197 + i198 + i199 + i200 + i201 + i202 + i203 + i204 + i205 + i206 + i207 + i208 + i209 + i210 + i211 + i212 + i213 + i214 + i215 + i216 + i217 + i218 + i219 + i220 + i221 + i222 + i223 + i224 + i225 + i226 + i227 + i228 + i229 + i230 + i231 + i232 + i233 + i234 + i235 + i236 + i237 + i238 + i239 + i240 + i241 + i242 + i243 + i244 + i245 + i246 + i247 + i248 + i249 + i250 + i251 + i252 + i253 + i254 + i255 + i256 + i257 + i258 + i259 + i260 + i261 + i262 + i263 + i264 + i265 + i266 + i267 + i268 + i269 + i270 + i271 + i272 + i273 + i274 + i275 + i276 + i277 + i278 + i279 + i280 + i281 + i282 + i283 + i284 + i285 + i286 + i287 + i288 + i289 + i290 + i291 + i292 + i293 + i294 + i295 + i296 + i297 + i298 + i299 + i300 + i301 + i302 + i303 + i304 + i305 + i306 + i307 + i308 + i309 + i310 + i311 + i312 + i313 + i314 + i315 + i316 + i317 + i318 + i319 + i320 + i321 + i322 + i323 + i324 + i325 + i326 + i327 + i328 + i329 + i330 + i331 + i332 + i333 + i334 + i335 + i336 + i337 + i338 + i339 + i340 + i341 + i342 + i343 + i344 + i345 + i346 + i347 + i348 + i349 + i350 + i351 + i352 + i353 + i354 + i355 + i356 + i357 + i358 + i359 + i360 + i361 + i362 + i363 + i364 + i365 + i366 + i367 + i368 + i369 + i370 + i371 + i372 + i373 + i374 + i375 + i376 + i377 + i378 + i379 + i380 + i381 + i382 + i383 + i384 + i385 + i386 + i387 + i388 + i389 + i390 + i391 + i392 + i393 + i394 + i395 + i396 + i397 + i398 + i399 + i400 + i401 + i402 + i403 + i404 + i405 + i406 + i407 + i408 + i409 + i410 + i411 + i412 + i413 + i414 + i415 + i416 + i417 + i418 + i419 + i420 + i421 + i422 + i423 + i424 + i425 + i426 + i427 + i428 + i429 + i430 + i431 + i432 + i433 + i434 + i435 + i436 + i437 + i438 + i439 + i440 + i441 + i442 + i443 + i444 + i445 + i446 + i447 + i448 + i449 + i450 + i451 + i452 + i453 + i454 + i455 + i456 + i457 + i458 + i459 + i460 + i461 + i462 + i463 + i464 + i465 + i466 + i467 + i468 + i469 + i470 + i471 + i472 + i473 + i474 + i475 + i476 + i477 + i478 + i479 + i480 + i481 + i482 + i483 + i484 + i485 + i486 + i487 + i488 + i489 + i490 + i491 + i492 + i493 + i494 + i495 + i496 + i497 + i498 + i499 + i500 + i501 + i502 + i503 + i504 + i505 + i506 + i507 + i508 + i509 + i510 + i511 + i512 + i513 + i514 + i515 + i516 + i517 + i518 + i519 + i520 + i521 + i522 + i523 + i524 + i525 + i526 + i527 + i528 + i529 + i530 + i531 + i532 + i533 + i534 + i535 + i536 + i537 + i538 + i539 + i540 + i541 + i542 + i543 + i544 + i545 + i546 + i547 + i548 + i549 + i550 + i551 + i552 + i553 + i554 + i555 + i556 + i557 + i558 + i559 + i560 + i561 + i562 + i563 + i564 + i565 + i566 + i567 + i568 + i569 + i570 + i571 + i572 + i573 + i574 + i575 + i576 + i577 + i578 + i579 + i580 + i581 + i582 + i583 + i584 + i585 + i586 + i587 + i588 + i589 + i590 + i591 + i592 + i593 + i594 + i595 + i596 + i597 + i598 + i599 + i600 + i601 + i602 + i603 + i604 + i605 + i606 + i607 + i608 + i609 + i610 + i611 + i612 + i613 + i614 + i615 + i616 + i617 + i618 + i619 + i620 + i621 + i622 + i623 + i624 + i625 + i626 + i627 + i628 + i629 + i630 + i631 + i632 + i633 + i634 + i635 + i636 + i637 + i638 + i639 + i640 + i641 + i642 + i643 + i644 + i645 + i646 + i647 + i648 + i649 + i650 + i651 + i652 + i653 + i654 + i655 + i656 + i657 + i658 + i659 + i660 + i661 + i662 + i663 + i664 + i665 + i666 + i667 + i668 + i669 + i670 + i671 + i672 + i673 + i674 + i675 + i676 + i677 + i678 + i679 + i680 + i681 + i682 + i683 + i684 + i685 + i686 + i687 + i688 + i689 + i690 + i691 + i692 + i693 + i694 + i695 + i696 + i697 + i698 + i699 + i700 + i701 + i702 + i703 + i704 + i705 + i706 + i707 + i708 + i709 + i710 + i711 + i712 + i713 + i714 + i715 + i716 + i717 + i718 + i719 + i720 + i721 + i722 + i723 + i724 + i725 + i726 + i727 + i728 + i729 + i730 + i731 + i732 + i733 + i734 + i735 + i736 + i737 + i738 + i739 + i740 + i741 + i742 + i743 + i744 + i745 + i746 + i747 + i748 + i749 + i750 + i751 + i752 + i753 + i754 + i755 + i756 + i757 + i758 + i759 + i760 + i761 + i762 + i763 + i764 + i765 + i766 + i767 + i768 + i769 + i770 + i771 + i772 + i773 + i774 + i775 + i776 + i777 + i778 + i779 + i780 + i781 + i782 + i783 + i784 + i785 + i786 + i787 + i788 + i789 + i790 + i791 + i792 + i793 + i794 + i795 + i796 + i797 + i798 + i799 + i800 + i801 + i802 + i803 + i804 + i805 + i806 + i807 + i808 + i809 + i810 + i811 + i812 + i813 + i814 + i815 + i816 + i817 + i818 + i819 + i820 + i821 + i822 + i823 + i824 + i825 + i826 + i827 + i828 + i829 + i830 + i831 + i832 + i833 + i834 + i835 + i836 + i837 + i838 + i839 + i840 + i841 + i842 + i843 + i844 + i845 + i846 + i847 + i848 + i849 + i850 + i851 + i852 + i853 + i854 + i855 + i856 + i857 + i858 + i859 + i860 + i861 + i862 + i863 + i864 + i865 + i866 + i867 + i868 + i869 + i870 + i871 + i872 + i873 + i874 + i875 + i876 + i877 + i878 + i879 + i880 + i881 + i882 + i883 + i884 + i885 + i886 + i887 + i888 + i889 + i890 + i891 + i892 + i893 + i894 + i895 + i896 + i897 + i898 + i899 + i900 + i901 + i902 + i903 + i904 + i905 + i906 + i907 + i908 + i909 + i910 + i911 + i912 + i913 + i914 + i915 + i916 + i917 + i918 + i919 + i920 + i921 + i922 + i923 + i924 + i925 + i926 + i927 + i928 + i929 + i930 + i931 + i932 + i933 + i934 + i935 + i936 + i937 + i938 + i939 + i940 + i941 + i942 + i943 + i944 + i945 + i946 + i947 + i948 + i949 + i950 + i951 + i952 + i953 + i954 + i955 + i956 + i957 + i958 + i959 + i960 + i961 + i962 + i963 + i964 + i965 + i966 + i967 + i968 + i969 + i970 + i971 + i972 + i973 + i974 + i975 + i976 + i977 + i978 + i979 + i980 + i981 + i982 + i983 + i984 + i985 + i986 + i987 + i988 + i989 + i990 + i991 + i992 + i993 + i994 + i995 + i996 + i997 + i998 + i999 + i1000; float ave = (float)sum / 1000;
全部見なくてもほとんど全部同じコードなので
頭だけ見てたたんでいただいても構いません。
見たくないと思った方、正常な感覚ですのでご安心ください。
書いておいてなんですが私もこんなコード見たくありません
やってることはほぼ全て宣言と足し算割り算です。
ただそれだけのためにこれだけのコードを書く羽目になりました。
配列使わないとこうなっちゃう可能性が大いにあるわけです。
ではこれを配列有でやるとどうなるか。
int[] intArray = new int[1000];//ここを10→1000にするだけ for(int i = 0;i < intArray.length;i++) { intArray[i] = i + 1; } int sum = 0; for(int i = 0;i < intArray.lenth;i++) { sum += intArray[i]; } float ave = (float)sum / intArray.lenth;
要素数の宣言を変えるだけで同じことができます。
わざわざあんな見るだけでうんざりするようなコードを書く必要ありません。
配列を使えば宣言を少し弄るだけで要素数の変更に対応できます。
逆に配列を使ってないと扱う値の数が1万とかなった日には・・・・
あとはご想像にお任せします。
あとがき
今回は配列の基本とその有用性についてでした。
とにかく
配列使ったら楽になるんだなと言うのと、
配列無しだったら血反吐吐く思いをする
可能性が有るということだけでも
わかっていただけたら私の労力は報われます。
ちなみに1000とか値使わないよとか思っているそこのあなた。
モデルの表示をするだけで頂点数が1万とか平気で行きますからね?
1000程度意外とさっくりと使いますからね?
(実際自分の知人に配列でやればいいところを逐一変数でやってて
コード行数が1000とかいってる人がちらほら・・・)
今回の記事が良ければスターやコメント等よろしくお願いします。
それでは今回はこの辺でノシ