Pagina de start a forumului Pascal2007.MyForum.ro Pascal2007.MyForum.ro
Acesta este un forum pentru cei care dau bacul la informatica - Varianta Pascal - Inregistreaza-te ca de nu o sa-ti para rau!!!
 
 
FAQ  •  Cautare   •  Membri  •   Grupuri  •  Inregistrare   •  Profil  •  Mesaje private   •  Autentificare

Varianta 13

 
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Pascal2007.MyForum.ro -> Subiectul 3
Subiectul anterior :: Subiectul urmator  
Autor Mesaj
LoveKey
Administrator
Administrator
LoveKey

Data inscrierii: 27/Feb/2007
Mesaje: 37
Localitate: Tg-Jiu

MesajTrimis: 06/03/2007 09:32    Titlul subiectului: Varianta 13 Raspunde cu citat (quote)

III - 1

program as;
Var i,m,n,s:integer;
v:array[1..200] of longint;
begin
writeln;
write('m=');readln(m);
write('n=');readln(n);
for i:=1 to m+n do begin
write('v[',i,']='); readln(v[i]);
end;
for i:=1 to m do begin
s:=1;
while s<=n do begin
if v[i]<v[m+s] then s:=n
else if v[i]=v[m+s] then write(v[i],' ');
s:=s+1;
end;
end;
end.
_________________
Orice e posibil prin vointa!
Sus
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
LoveKey
Administrator
Administrator
LoveKey

Data inscrierii: 27/Feb/2007
Mesaje: 37
Localitate: Tg-Jiu

MesajTrimis: 06/03/2007 09:51    Titlul subiectului: Re: Varianta 13 Raspunde cu citat (quote)

LoveKey a scris:
III - 1

program as;
Var i,m,n,s:integer;
v:array[1..200] of longint;
begin
writeln;
write('m=');readln(m);
write('n=');readln(n);
for i:=1 to m+n do begin
write('v[',i,']='); readln(v[i]);
end;
for i:=1 to m do begin
s:=1;
while s<=n do begin
if v[i]<v[m+s] then s:=n
else if v[i]=v[m+s] then write(v[i],' ');
s:=s+1;
end;
end;
end.




Problema pe care am pus-o mai sus e bine dar am facut-o acum eficienta asa ca:

program as;
Var i,m,n,s,q:integer;
v:array[1..200] of longint;
begin
writeln;
write('m=');readln(m);
write('n=');readln(n);
for i:=1 to m+n do begin
write('v[',i,']='); readln(v[i]);
end;
q:=1;
for i:=1 to m do begin
s:=q;
while s<=n do begin
if v[i]<v[m+s] then s:=n
else if v[i]=v[m+s] then begin
write(v[i],' ');
q:=s;
end;
s:=s+1;
end;
end;
end.


Problema era ca se faceau prea multi pasi dar noi stim ca sirurile sunt strict crescatoare asa ca am mai bagat o variabila ajutatoare cei cat de cat descurcareti ar trebui sa se prinda. :chef:
_________________
Orice e posibil prin vointa!
Sus
Vezi profilul utilizatorului Trimite mesaj privat Trimite un mesaj
Afiseaza mesajele pentru a le previzualiza:   
Creaza un subiect nou   Raspunde la subiect    Pagina de start a forumului Pascal2007.MyForum.ro -> Subiectul 3 Ora este GMT + 3 ore
Pagina 1 din 1

 
Mergi direct la:  
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum


theme par laborde40.com
Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro