Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi!
Cititi regulament postare forum inainte de a posta!
|
Lista Forumurilor Pe Tematici
|
Mihai Sprinceana | Inregistrare | Login
POZE MIHAI SPRINCEANA
Nu sunteti logat.
|
Nou pe simpatie: lutsen
| Femeie 24 ani Cluj cauta Barbat 24 - 48 ani |
|
nairpyk
Membru nou
Inregistrat: acum 15 ani
Postari: 3
|
|
{Sa gasesti o comoara ascunsa de catre pirati este simplu daca ai o harta. De obicei harta este īnsotita de un algoritm ce descrie deplasarea spre comoara. De exemplu: „Gaseste stānca alba. Mergi 30 de pasi spre padure, apoi 15 spre lac, ... , si 20 prin pestera. Comoara e sub semnul desenat pe peretele drept". De obicei indicatiile presupun deplasarea cu un anumit numar de pasi īn una dintre directiile date (1 - nord, 2 - nord-est, 3 - est, 4 - sud-est, 5 - sud, 6 - sud-vest, 7 - vest, 8 - nord-vest). Un pas te duce intotdeauna dintr-un punct de coordonate intregi in alt punct de coordonate intregi. Deci daca la un moment dat suntem in punctul de coordonate intregi (X, Y), deplasarea cu 1 pas in una dintre cele 8 directii ne duce in unul dintre punctele de coordonate intregi} {Cerinta
Scrieti un program, care, dupa indicatiile piratilor determina punctul īn care este ascunsa comoara. Se considera ca axa Ox e īndreptata spre est, iar Oy spre nord. Initial cautatorul de comori se afla īn originea sistemului de coordonate (punctul cu coordonatele (0, 0)).} Date de intrare
Fisierul de intrare comori.in contine pe prima linie numarul natural N, reprezentand numarul de indicatii. Urmatoarele N linii contin indicatiile propriu-zise, cate o indicatie pe o linie, sub forma a doua numere naturale separate printr-un spatiu d p, unde d este numarul directiei, iar p numarul de pasi.
Date de iesire
Fisierul de iesire comori.out va contine o singura linie pe care vor fi scrise doua numere intregi separate prin spatiu x y, reprezentand coordonatele punctului in care este ascunsa comoara (x este abscisa, iar y este ordonata).
Restrictiisi precizari 1 <= N <= 40 1 <= d <= 8 1 <= p <= 1000
Exemplucomori.in comori.out comori.in comori.out 6 1 1 3 3 2 8 10 -10 10 3 1 1 1 3 3 5 2 7 1 }
program p_comori; var x,y,p,d,n:integer;f,g:text; begin assign(f,'comori.in');reset(f); assign(g,'comori.out');rewrite(g); readln(f,n);{citesc nr de indicatii} while n>0 do begin dec(n); readln(f,d,p);{citesc din fisierul f nr directiei si nr de pasi} if d=1 then y:=y+p; {cati pasi face la nord} if d=2 then begin x:=x+p;y:=y+p;end;{cati pasi face la nord-est} if d=3 then x:=x+p;{cati pasi face la est} if d=4 then begin x:=x+p;y:=y-p;end;{cati pasi face la sud-est} if d=5 then y:=y-p;{cati pasi face la sud} if d=6 then begin x:=x-p;y:=y-p;end;{cati pasi face la sud-vest} if d=7 then x:=x-p;{cati pasi face la vest} if d=8 then begin y:=y+p;x:=x-p;end;end;{cati pasi face la nord-vest} assign(g,'comori.out');rewrite(g); write(g,x,' ',y); {afisam in fisierul de iesire punctul unde se afla comoara} close(f);close(g); end.
10.5KB
|
|
pus acum 15 ani |
|