Sunteți pe pagina 1din 14

Probleme Informatica -Vectori

1. Se citete un vector cu n componente ntregi. Se cere:


a) S se ordoneze cresctor elementele vectorului;
b) S se permute circular stnga elementele vectorului
ordonat cu o poziie.
var a:array1..1!!"o# integer;
n:byte;
procedure citire;
var i:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);
readln%ai");
end;
end;
procedure a#isare;
var i:byte;
begin
#or i:'1 to n do
$rite%ai"(& &);
$riteln;
end;
procedure sortare;
var au):integer;i(*:byte;
begin
#or i:'1 to n+1 do
#or *:'i,1 to n do
i#%ai"-a*") t.en begin
au):'ai";
ai":'a*";
Probleme Informatica -Vectori
a*":'au);
end;
end;
procedure permutare;
var i:byte;):integer;
begin
):'a1";
#or i:'1 to n+1 do
ai":'ai,1";
an":');
end;
begin
citire;
$riteln%&elementele vectorului&);
a#isare;
$riteln%&elementele in ordine crescatoare&);
sortare;a#isare;
$riteln%&dupa permutarea cu o pozitie la stanga&);
permutare;
a#isare;
end.

/. Se citete un vector cu n componente ntregi. Se cere:
a) S se elimine din vector elementele nule
dac acestea e)ist;
b) S se nlocuiasc #iecare element al noului
vector cu media aritmetic a celorlalte
elemente din vector.
var a:array1..1!!"o# integer;
n:byte;
procedure citire;
Probleme Informatica -Vectori
var i:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);
readln%ai");
end;
end;
procedure a#isare;
var i:byte;
begin
#or i:'1 to n do
$rite%ai"(& &);
$riteln;
end;
procedure e)nule;
var b:array1..1!!"o# integer;
i(0:byte;
begin
0:'!;
1introducem in vectorul b toate elementele di#erite de !2
$riteln%&vectorul #ara elementele nule&);
#or i:'1 to n do
i# ai"3-! t.en begin
0:'0,1;
b0":'ai";
end;
#or i:'1 to 0 do $rite%bi"(& &);
$riteln;
end;
Probleme Informatica -Vectori
procedure medie;
var s:integer;i(*:byte;
begin
#or i:'1 to n do
begin
s:'!;
#or *:'1 to n do
i#%i3-*) t.en s:'s,a*";
$rite%s4%n+1):5:/(& &);
end;
$riteln;
end;
begin
citire;
$riteln%&elementele vectorului&);
a#isare;
e)nule;
medie;
end.

6. Se d un ir ) de n elemente ntregi. S se caute ultimul
element impar mai mare dect 15.
type vector'array1..1!!"o# integer;
var a:vector;
n:byte;
procedure citire;
var i:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do begin
$rite%&a&(i(&"'&);readln%ai");
Probleme Informatica -Vectori
end;
end;
procedure cautare;
var i:byte;
begin
i:'n;
$.ile i-1 do begin
i# %ai"-15)and%ai" mod /'1) t.en begin
$rite%ai");.alt;
end;
i:'i+1;
end;
$riteln%&nu e)ista un element impar mai mare ca 15 in sir&);
end;
begin
citire;
cautare;
end.

7. S se scrie un program care :
a) citete un vector cu n componente numere reale
b) sterge un element din vector care se a#l pe o poziie dat k.
var a:array1..1!!"o# real;
n(0:byte;

procedure citire;
var i:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do begin
$rite%&a&(i(&"'&);readln%ai"); end;
Probleme Informatica -Vectori
$rite%&0'&);readln%0);
end;
procedure a#isare;
var i:byte;
begin
#or i:'1 to n do
$rite%ai":5:/);
$riteln;
end;
procedure sterge;
var i:byte;
begin
#or i:'0 to n+1 do
ai":'ai,1";
n:'n+1;
end;
begin
citire;
sterge;
a#isare;
end.

5. S se scrie un program care determin media aritmetic a
elementelor pare dintr+un vector #olosind un subprogram
%procedur sau #uncie).
var a:array1..1!!"o# integer;
n:byte;
procedure medie;
var i(nr:byte;s:real;
begin
s:'!;nr:'!;
Probleme Informatica -Vectori
#or i:'1 to n do
i# ai" mod /' ! t.en begin
nr:'nr,1;
s:'s,ai";
end;
$riteln%s4nr:5:/);
end;
procedure citire;
var i:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do begin
$rite%&a&(i(&"'&);readln%ai"); end;
end;
begin
citire;
medie;
end.

8. Se citete de la tastatur un numr natural nenul n i alte n
numere ntregi . Se cere :
a) Suma elementelor pare de pe poziii impare
b) 9edia aritmetic a elementelor pozitive.
var a:array1..1!!"o# integer;
n:byte;
procedure citire;
var i(*:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
Probleme Informatica -Vectori
$rite%&a&(i(&"'&);readln%ai");
end;
end;
procedure suma:elp;
var s:longint;i:byte;
begin
s:'!;
#or i:'1 to n do
i# %ai" mod /'!)and%i mod /'1) t.en s:'s,ai";
$riteln%s);
end;
procedure medie:poz;
var s:real;i(c:byte;
begin
s:'!;c:'!;
#or i:'1 to n do
i# ai"-! t.en begin
s:'s,ai";
c:'c,1;
end;
$riteln%s4c:;:/);
end;
begin
citire;
suma:elp;
medie:poz;
end.

;. Se citete de la tastatur un numr natural nenul n i alte n
numere ntregi. Se cere s se a#ieze cte elemente prime conine
Probleme Informatica -Vectori
irul citit % se va #olosi un subprogram pentru a stabili c un
numr este prim sau nu).
var n:byte;
a:array1..1!!"o# longint;
procedure citire;
var i(*:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);readln%ai");
end;
end;
#unction prim%n:longint):boolean;
var i:longint;
begin
prim:'true;
i# n3'1 t.en prim:'#alse;
#or i:'/ to n div / do
i# n mod i'! t.en prim:'#alse;
end;
procedure calcul;
var i(c:byte;
begin
c:'!;
#or i:'1 to n do
i# prim%ai") t.en c:'c,1;
$riteln%&nr de numere prime'&(c);
end;
begin
citire;
Probleme Informatica -Vectori
calcul;
end.

<. Se citete de la tastatur un numr natural nenul n i alte n
numere ntregi. Se cere s se a#ieze numrul de apariii n ir
ale unui numr citit de la tastatur.
var n(0:byte;
a:array1..1!!"o# longint;
procedure citire;
var i(*:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);readln%ai");
end;
$rite%&0'&);readln%0);
end;
procedure aparitii;
var i(c:byte;
begin
c:'!;
#or i:'1 to n do
i# ai"'0 t.en c:'c,1;
$rite%&nr de aparitii'&(c);
end;
begin
citire;
aparitii;
end.

Probleme Informatica -Vectori
=. Se citete de la tastatur un numr natural nenul n i alte n
numere ntregi. Se cere s se a#ieze valoarea minim din ir (
precum i numrul su de apariii n cadrul irului.
var n(0:byte;
a:array1..1!!"o# longint;
min:longint;
procedure citire;
var i(*:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);readln%ai");
end;
end;
procedure minim;
var i:byte;
begin
min:'a1";
#or i:'1 to n do
i# ai"3min t.en min:'ai";
$riteln%&min'&(min);
end;
procedure aparitii;
var i(c:byte;
begin
c:'!;
#or i:'1 to n do
i# ai"'min t.en c:'c,1;
$rite%&nr de aparitii'&(c);
end;
Probleme Informatica -Vectori
begin
citire;
minim;
aparitii;
end.

1!. Se citete un vector cu n componente numere reale. S se
nlocuiasc ultimele 0 elemente ale vectorului cu valoarea >1.
?aloarea 0 este dat de la tastatur %03n).
var n(0:byte;
a:array1..1!!"o# longint;
procedure citire;
var i(*:byte;
begin
$rite%&n'&);readln%n);
#or i:'1 to n do
begin
$rite%&a&(i(&"'&);readln%ai");
end;
$rite%&0'&);readln%0);
end;
procedure inlocuire;
var i:byte;
begin
#or i:'0 to n do
ai":'+1;
end;
procedure a#isare;
var i:byte;
begin
#or i:'1 to n do
Probleme Informatica -Vectori
$rite%ai"(& &);
$riteln;
end;
begin
citire;
inlocuire;
a#isare;
end.
11. Se citete de la tastatur un numr ntreg . Se cere s se
calculeze i s se a#ieze suma divizorilor proprii precum i
numrul acestora.
var a:array1..1!!"o# integer;
n:byte;
#unction prim%n:longint):boolean;
var i:longint;
begin
prim:'true;
i# n3'1 t.en prim:'#alse;
#or i:'/ to n div / do
i# n mod i'! t.en prim:'#alse;
end;
procedure citire;
var i:byte;
begin
n:'1;
$rite%&a1"'&);readln%a1");
$.ile%an"3-16)do begin
n:'n,1;
$rite%&a&(n(&"'&);readln%an");
end;
n:'n+1;
Probleme Informatica -Vectori
end;
procedure a#isare;
var i:byte;
begin
#or i:'1 to n do $rite%ai"(& &);
$riteln;
end;
procedure prime;
var c(i:byte;
begin
c:'!;
#or i:'1 to n do
i# prim%ai") t.en begin
$rite%ai"(& &);
c:'c,1;
end;
$riteln;
$riteln%&sunt &(c(& numere prime&);
$riteln%&sunt &(n+c(& numere nu sunt prime&);
end;
begin
citire;
$riteln%&numere prime&);
prime;
end.

S-ar putea să vă placă și