napisałem program męczyłem się z nim kilka dni bo jestem początkującym uczniem. Prosiłbym o niewielkie przekształcenie tego programu ponieważ kolega ściągną ode mnie ten program słowo w słowo i zostałem na lodzie. jak się ktoś odezwie to wrzucę ten program. pozdrawiam
Program rzut_kostkami; Uses Crt; var x, i: integer; plik: Text; wyniki: array [2..12] of integer; Begin Clrscr; Writeln ('Program przeprowadzi symulacje 1000 rzutow dwoma kostami i wyswietli wynik'); Writeln ('a nastepnie zapisze go na dysku C: pod nazwa wynik.txt.'); Writeln ('Nacisnij ENTER by kontynuowac.'); Readln; Randomize; For i:= 2 to 12 do wyniki[i] := 0;
For i := 1 to 1000 do Begin x := random(6)+1+random(6)+1; wyniki[x] := wyniki[x]+1; End;
Assign(plik,'C:\wynik.txt'); Rewrite(plik); For i := 2 to 12 do Begin Writeln (i,' oczek wypadlo ',wyniki[i],' razy'); Writeln (plik,i,' oczek wypadlo ',wyniki[i],' razy'); End; Close(plik);
No fakt, nie ma za bardzo co przerabiac bo to taki trywialny programik jest ... Ciezko cos sensownego wymyslic. Moze zrob jakies ladne wciecia kodu w swoim pliku i przerob kod tak aby tablica "wyniki" miala definicje array [0..10] of integer; wtedy musisz jedynie pamietac ze "liczba oczek" jest zapisana w komorce "liczba oczek"-2 ... mysle ze to jedyne sensowne przerobienie tego kodu.
No mowie, ze bedzie dobrze, bo tamta wersja byla taka uproszczona gdy nie chcialo sie kombinowac z indeksami tablicy (uproszczona ale bardziej naturalna). Bo wiadomo ze na dwoch kostach wyniki rozkladaja sie od 2 do 12, i tak tablica byla zdefiniowana, a ja zaproponowalem zeby te wyniki wpisywac w rekordy od 0 do 10 ...
jak zmienie na [0..10] to przecież będe miał losowania : 0 i 1 które mi wcale nie są potrzebne a losowań : 11 i 12 nie będe miał które jakby nie było to wypadną
Przeczytaj co napisalem w pierwszej sugestii i postaraj sie zrozumiec.
Jesli nie rozumiesz to znaczy ze nie pisales tego programu - tyle ode mnie w tej kwestii.