Documente Academic
Documente Profesional
Documente Cultură
Disciplina:
Programarea Structurata
Lucru de studiu individual nr.3
Grupa: B-1911
Nota:
________
Elevul: Grigoraș Dumitru
Profesor: Dovgani Irina
Cuprins:
Enunțul problemei..................................................3
Schițarea algoritmului programului..................4-5
Programul propriu-zis.........................................6-9
Teste program...................................................10-11
Prezentarea soluțiilor………………………...12-13
Concluzie................................................................14
2
Enunțul primei probleme:
Se consideră tabloul unidimisional A[1..n] cu elemente numere
întregi. Să se compună un program care va transcrie la începutul
tabloului B[1..n] în ordine descrescătoare elementele lui
nenegative, apoi în continuare pe cele negative în ordine
crescătoare. Se va aplica metoda bulelor. Tabloul B se va afișa pe
ecran
3
Schițarea algoritmului primului programului:
4
Schițarea algoritmului programului doi:
5
Primul program:
#include<iostream>
using namespace std;
int n,i,aux,ok=0,poz;
int main(){
int a[n],b[n];
cout<<"Introduceti numaru de elemente ale vectoruli:";
cin>>n;
for(i=0; i<n; i++){
cout<<"a["<<i<<"]=";
cin>>a[i];
b[i]=a[i];}
while(ok==0){
ok=1;
for(i=0; i<n-1; i++){
if(b[i]<b[i+1]){
aux=b[i];
b[i]=b[i+1];
b[i+1]=aux;
ok=0;}}}
for(i=0; i<n;i++){
if(b[i]>=0){
poz=i; }}
ok = 0;
6
while(ok==0){
ok=1;
for(int j=poz+1; j<n-1; j++){
if(b[j]>b[j+1]){
aux=b[j];
b[j]=b[j+1];
b[j+1]=aux;
ok=0;}}}
for(int k=0; k<n; k++){
cout<<b[k]<<"\t";}}
7
Programul doi:
#include<iostream>
#include<fstream>
#include<cmath>
struct Punct{
int x,y;
float d;
}v[100],aux;
using namespace std;
main(){
int n,i=0,k=0;
ifstream f("puncte.in");
ofstream g("puncte.out");
f>>n;
while(i<n){
f>>v[i].x>>v[i].y;
v[i].d=sqrt(pow((v[i].x),2)+pow((v[i].y),2));
i++;
}
for(int i=1 ; i<n ; i++)
{
aux=v[i];
k=i-1;
while(k>=0 && (v[k].d)<aux.d){
v[k+1] = v[k];
8
k--;
v[k+1] = aux;
}}
for(i=0; i<n; i++){
g<<v[i].x<<" "<<v[i].y<<" "<<v[i].d<<endl;}
g.close();
f.close();
}
9
Teste al primului program:
n=7; 7 5 4 0 -8 -7 -6
A={ 4, -8 7 6 0 -7 5
n=5; 4 3 2 -5 -1
A={-1,3,4,2,-5}
10
Prezentarea soluțiilor:
1)
2)
3)
11
Teste programului doi:
6 2 1 2.23607
-3 4 2 3 3.60555
21 -3 4 5
35 3 5 5.83095
23 8 1 8.06226
81 9 9 12.7279
99
4 -1 1 1.41421
10 -5 2 -1 2.23607
22 2 2 2.82843
-1 -1 10 -5 11.1803
10
12
Prezentarea soluțiilor:
1)
2)
3)
13
Concluzie:
14