Extras din seminar
1. Să se scrie programul pentru calculul sumei elementelor de rang impar ale unui vector de dimensiune n.
Pascal:
var x:array[1 100]of integer;
n,i,s: integer;
begin
write('Introduceti dimensiunea vectorului:');readln(n);
for i:=1 to n do
begin
write('x[',i,']=');readln(x[i]);
if i div 2<>0 then s:=s+x[i];
end;
writeln(' ',s);
end.
Codul C:
#include<stdio.h>
void main()
{float v[10],s; int n,i;
printf("Introduceti numarul de elemente ale vectorului,n=");scanf("%d",&n);
for(i=0;i<n;i++) {printf("Introduceti elementele vectorului,a(%d)=",i);scanf("%f",&v[i]);}
for(s=0,i=1;i<n;i+=2)s=s+v[i];
printf("Suma elementelor de rang impar este:%f",s);
}
Parametrii de I:
v[10]-vector cu 10 componente reale;
n-variabila;dimensiunea vectorului;intreg;
i-variabila;indice;intreg;
Parametrii de E:
s-suma elementelor;reala(vectorul are componente reale);
2. Să se scrie programul pentru calcularea mediei geometrice a elementelor pozitive dintr-un vector de dimensiune n.
Pascal:
var x:array[1 100]of integer;
n,i,s: integer;
m:real;
begin
write('Introduceti dimensiunea vectorului:');readln(n);
for i:=1 to n do
begin
write('x[',i,']=');readln(x[i]);
if x[i]>=0 then m:=m+(x[i]*x[i]);
end;
m:=sqrt(m);
writeln('Media geometrica este= ',m);
end.
Codul C:
#include<stdio.h>
#include<math.h>
void main()
{ int n,k=0,i=0;float x[100], mg=1;
printf("Introduceti dimensiunea vectorului, n=");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("x[%d]=",i);scanf("%f", &x[i]);}
for(i=0;i<n;i++)
if(x[i]>0){mg*=x[i];k++;}
if(k>1) {
mg=exp(log(mg)/k);
printf("Media geometrica este %f.", mg);}
else printf("Media geometrica nu se poate calculca!");
}
Set de valori:
Parametrii de I:
n-variabila;dimensiunea vectorului;intreg;
i-variabila;indice;intreg;
k-nr elementelor pozitive;intreg;
x[100]-vector cu 100 de elemente reale;
Parametrii de E:
mg-media geometrica;variabila reala pt ca elementele vectorului sunt reale;
3. Să se scrie programul pentru determinarea pozitiei ultimei apariţii a unei valori date într-un vector neordonat, de dimensiune n.
Pascal:
var x:array[1 100]of integer;
n,i,v,p: integer;
begin
write('Introduceti dimensiunea vectorului:');readln(n);
for i:=1 to n do
begin
write('x[',i,']=');readln(x[i]);
end;
write('Introduceti valoarea dorita');readln(v);
p:=0;
for i:=1 to n do
if v=x[i] then p:=i;
writeln(' pozitia este ',p);
end.
Codul C:
#include <stdio.h>
void main()
{float v[10],a;int n,i,poz;
printf("Introduceti dimensiunea vectorului,n=");
scanf("%d",&n);
for(i=0;i<n;i++)
{printf("Introduceti elementele vectorului,v(%d)=",i);scanf("%f",&v[i]);}
printf("Introduceti valoarea cautata:");scanf("%f", &a);
Preview document
Conținut arhivă zip
- Probleme Vectori-Matrice.doc