Gehienez 15 elementu gordetzeko gai diren arrayekin lan egingo dugu. Arrayen elementuak zenbaki osoak izango dira.
Programaren balizko exekuzio bat jarraian erakusten da:
{ Zenbaki osoak array batean gorde ondoren, bakoiti eta negatiboak } { diren elementuak arraytik kendu (array laguntzaile bat erabiliz). } program ZenbakiakKendu; uses crt; const iBEHEMUGA = 1; iGOIMUGA = 20; type taiZerrenda = array[iBEHEMUGA..iGOIMUGA] of integer; procedure ArrayaAleatoriokiDatuzBete(var aiZerrenda: taiZerrenda; var iZenbat:integer); var iKont: integer; begin repeat write('Zenbat datu dira? (gehienez ', iGOIMUGA, '): '); readln(iZenbat); until (iZenbat >= iBEHEMUGA) and (iZenbat <= iGOIMUGA); for iKont:=iBEHEMUGA to iGOIMUGA do begin aiZerrenda[iKont]:= random(40)-20; { -20 eta 19 artek balioak } end; end; procedure ArrayarenEdukiaIkusi(const aiZerrenda: taiZerrenda; iLuzera: integer); var iKont: integer; begin for iKont:=iBEHEMUGA to iLuzera do begin writeln(iKont:10, '. elementua = ', aiZerrenda[iKont]:3); end; writeln; end; procedure BakoitiNegatiboakKendu(var aiZerrenda: taiZerrenda; var iLuzera: integer); var iKont, iLuzeraBerria: integer; aiZerrendaBerria: taiZerrenda; begin iLuzeraBerria := 0; for iKont:=iBEHEMUGA to iLuzera do begin if (aiZerrenda[iKont] < 0) and (aiZerrenda[iKont] mod 2 <> 0) then begin writeln('Hau saihestu ---> aiZerrenda[', iKont:2,'] = ', aiZerrenda[iKont]:3); end else begin iLuzeraBerria := iLuzeraBerria + 1; aiZerrendaBerria[iLuzeraBerria] := aiZerrenda[iKont]; end; end; aiZerrenda := aiZerrendaBerria; iLuzera := iLuzeraBerria; end; { ------------------------- Programa Nagusia ------------------------- } var aiZerrenda: taiZerrenda; iLuzera: integer; cErantzuna: char; begin repeat clrscr; writeln('--------------------------------------------'); writeln('Datuak eskuratzen: '); ArrayaAleatoriokiDatuzBete(aiZerrenda, iLuzera); writeln('Hasierako datuak: '); ArrayarenEdukiaIkusi(aiZerrenda, iLuzera); BakoitiNegatiboakKendu(aiZerrenda, iLuzera); writeln; writeln('Bakoiti negatiboak kendu ondoren: '); ArrayarenEdukiaIkusi(aiZerrenda, iLuzera); repeat write('Amaitu nahi duzu? (b/e): '); cErantzuna := readkey; cErantzuna := upcase(cErantzuna); writeln(cErantzuna); until (cErantzuna = 'B') or (cErantzuna = 'E'); writeln; writeln; writeln; writeln; until cErantzuna = 'B'; end. { programaren amaiera }
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.