DAVID J. Malan: supozu ni volas skribi programo kiu petas ĉiuj en ĉambro por ilia aĝo, kaj tiam presitaj el kiom malnova tiuj homoj estos jaro ĉi tie? Nu, evidente la aritmetiko por tiu problemo tuj estos sufiĉe simpla. Sed la interesa demando estas, se ni ne scias anticipe kiom da homoj tuj estos en tiu ĉi ĉambro, kiom ni povus iri pri stokante ĉiuj iliaj aĝoj? Nu, ni rigardu. Ni komencu per unua instigante la uzanton, kiel mi jam faris ĉi tie, ĉar la nombro de homoj en la ĉambro uzante getInt kaj do-dum buklo celo get entjero n. Supozi ni nun volas demandi ĉiu tia personon en la ĉambro por ilia aĝo. Nu, miaj instinktoj estus uzi buklo fari tion instigante, sed mi ankaŭ bezonas lokon por stoki tiuj homoj aĝoj. Kaj mia unua instinktoj ne estus uzi variablon por la unua persono aĝo, alia variablo por la dua persono aĝo, ia laŭ linioj. Mez aĝo - bone, ni nomas ĝin 1 por la unua persono. Mez aĝo 2 por la dua persono. Mez aĝo 3 por la tria persono. Sed atendu momenton, tio ne estas eble la plej bona vojo por iri malsupren. Ĉar mi ne scias anticipe de skribo kaj kompilante ĉi programo kiom multaj uzantoj ne tuj estos. Kaj cetere, se estas tiel multaj kiel 100 uzantoj, deklarante 100 variabloj ia strange enoficigita kiel ĉi tio ne sentas kiel la tre bona dezajno. Nu, dankeme tie ekzistas alia tipo de variablo nomata tabelo tiu permesas al ni memori ĉiun numeron de ints interne de ĝi, eĉ se ni ne scias kiam skribante mian programon, kiom da tiaj ints ni tuj bezonas. Do ni reveni al la demando kaj forigi tiujn pluraj ints, kaj anstataŭ anstataŭigi ĝin kun unu variablo vokis, diri, aĝoj, pluralo. Sed ni ankoraŭ specifi sur tiu linio de kodo en kvadrataj krampoj, ke ni ĉu n ints. Kaj do, ni volas kolektive referi al tiuj ints kiel aĝoj. Nun en nur unu momento mi povos akiri ĉe ĉiu el la ints en ĉi tiu tabelo simile en formo de kvadrata krampo skribmaniero, ekde 0. Do ni procedas nun en buklo al suflori la uzantoj por iliaj aĝoj. Por int I get 0. Mi estas malpli ol N, la nombro de homoj en la ĉambro, mi plus plus. Kaj nun ene de ĉi maŝo, ni diru printf aĝon de persono numeron, procento mi Estas lokokupilo, komo. Kaj nun, anstataŭ komenci kalkulon 0 en la programo mem, ni ĉe Almenaŭ pliigo mi per 1 tiel ke normala persono kiu uzas tiun programon Ne havas por rakonti kiel komputila sciencisto potenco. Ni nun faru aĝoj, krampo mi, tiamaniere preciziganta ke la i-a aĝo en nia tabelo de epokoj iĝos la reveno valoro de getInt. Nun sub tiu buklo, ni procedi supozi, ke iom da tempo pasas. Kaj ni nun procedas en alia buklo por fakte kadukiĝas ĉiuj en la ĉambro de unu jaro. Do denove, por int I get 0, mi estas malpli ol N, la nombro de homoj en la ĉambro, mi plus plus. Kaj nun ene de ĉi maŝo, ni diru printf jaron ekde nun persono numeron, procento mi estas lokokupilo, volo esti, procento mi estas alia lokokupilo, jaroj maljuna. Kaj tiam por konekti al tiuj anstataŭiloj, ni unue diru mi pli 1, tiel ke ni denove komencas rakonti por la uzanto de 1. Kaj tiam ni plug en tiu persono aĝo kiel aĝoj krampo Mi plus 1, tiamaniere preciziganta go akiri la i-a aĝo en nia tabelo de epokoj, aldonu 1 al ĝi, kaj poste enŝovu ke sumo en nian lokokupilo, proksime paren, punktokomo. Ni nun kompili tiun programon per ŝminko aĝoj, kaj ni kuris kun skalara oblikvo aĝoj. Kaj supozu, ke tie estas nur tri homoj en la ĉambro, kaj iu estas 18, iu estas 19, iu estas 20. Nu, en jaro, ĉiu el tiuj uloj tuj estos 19, 20, kaj 21, respektive.