laborator3 c

4
1.Sortarea prin metoda bulelor: #include<stdio.h> #include<conio.h> #include<iostream.h> void main() { struct student{char nume[10], prenume[10];int nota;}; student a[20],c; int i,l,v=0,n,k; clrscr(); printf("introduceti nr de studenti:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("\nintroduceti numele studentului %i ",i+1); scanf("%s",a[i].nume); printf("\nintroduceti prnumele studentului %i ",i+1); scanf("%s",a[i].prenume); printf("\nintroduceti nota studentului %i ",i+1); cin>>a[i].nota; }; printf("\nStudentii introdusi sunt\n: "); for(i=0;i<n;i++) { printf("\n\t%d %s\ t",i+1,a[i].nume); printf("%s\t",a[i].prenume); printf("%d",a[i].nota); }; while (v==0){ i=0;l=n; v=1; while(i<l-1) {if(a[i].nota>a[i+1].nota) {c=a[i];a[i]=a[i+ 1]; a[i+1]=c;k=i; v=0;}i=i+1; }} ; printf("\nStudentii sortati dupa nota sunt:\n "); for(i=0;i<n;i++) { printf("\n\t%d %s\ t",i+1,a[i].nume); printf("%s\t",a[i].prenume); printf("%d",a[i].nota); }; getch(); } 2.Sortare prin metoda inserţiei: #include<stdio.h> #include<conio.h> #include<iostream.h> void main() { struct student{char nume[10], prenume[10];int nota;}; student a[20],x; int i,j,s,n,d,m; clrscr(); printf("introduceti nr de studenti:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("\nintroduceti numele studentului %i ",i+1); scanf("%s",a[i].nume); printf("\nintroduceti prnumele studentului %i ",i+1); scanf("%s",a[i].prenume); printf("\nintroduceti nota studentului %i ",i+1); cin>>a[i].nota; }; printf("\nStudentii introdusi sunt\n: "); for(i=0;i<n;i++) { printf("\n\t%d %s\ t",i+1,a[i].nume);

Upload: maxim-tincu

Post on 26-Dec-2015

2 views

Category:

Documents


0 download

DESCRIPTION

Laborator3 C

TRANSCRIPT

Page 1: Laborator3 C

1.Sortarea prin metoda bulelor:

#include<stdio.h>#include<conio.h>#include<iostream.h>void main(){ struct student{char nume[10], prenume[10];int nota;};student a[20],c;int i,l,v=0,n,k;clrscr();printf("introduceti nr de studenti:");scanf("%d",&n);for(i=0;i<n;i++) {printf("\nintroduceti numele studentului %i ",i+1); scanf("%s",a[i].nume);printf("\nintroduceti prnumele studentului %i ",i+1); scanf("%s",a[i].prenume);printf("\nintroduceti nota studentului %i ",i+1); cin>>a[i].nota;};

printf("\nStudentii introdusi sunt\n: ");for(i=0;i<n;i++) {printf("\n\t%d %s\t",i+1,a[i].nume);printf("%s\t",a[i].prenume);

printf("%d",a[i].nota);};while (v==0){ i=0;l=n; v=1;

while(i<l-1){if(a[i].nota>a[i+1].nota){c=a[i];a[i]=a[i+1];a[i+1]=c;k=i; v=0;}i=i+1;

}} ;printf("\nStudentii sortati dupa nota sunt:\n ");for(i=0;i<n;i++) {printf("\n\t%d %s\t",i+1,a[i].nume);printf("%s\t",a[i].prenume);printf("%d",a[i].nota);};getch();}

2.Sortare prin metoda inserţiei:

#include<stdio.h>#include<conio.h>#include<iostream.h> void main(){ struct student{char nume[10], prenume[10];int nota;}; student a[20],x; int i,j,s,n,d,m;clrscr();printf("introduceti nr de studenti:");scanf("%d",&n); for(i=0;i<n;i++) {printf("\nintroduceti numele studentului %i ",i+1); scanf("%s",a[i].nume);printf("\nintroduceti prnumele studentului %i ",i+1); scanf("%s",a[i].prenume);printf("\nintroduceti nota studentului %i ",i+1); cin>>a[i].nota; };printf("\nStudentii introdusi sunt\n: ");for(i=0;i<n;i++) { printf("\n\t%d %s\t",i+1,a[i].nume); printf("%s\t",a[i].prenume);printf("%d",a[i].nota);};i=1;

while (i<n){x=a[i];s=0;d=i-1;while(s<=d){m=(s+d)/2;if(a[m].nota>x.nota)d=m-1;else s=m+1; } j=i-1;while(j>=s){a[j+1]=a[j]; j=j-1;}a[s]=x; i++;} ;printf("\nStudentii sortati dupa nota sunt\n: ");for(i=0;i<n;i++) { printf("\n\t%d %s\t",i+1,a[i].nume);printf("%s\t",a[i].prenume);printf("%d",a[i].nota); };getch();}

Page 2: Laborator3 C

3.Sortare prin metoda selecţiei:

#include<stdio.h>#include<conio.h>#include<iostream.h>void main(){ struct student{char nume[10],prenume[10];int nota;}; student A[20],min,C; int i,j,k,l,n,V=0; clrscr(); printf("Introduceti nr de studenti:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Introduceti numele studentului %i: ",i+1); scanf("%s",&A[i].nume); printf("Introduceti prenumele studentului %i: ",i+1); scanf("%s",&A[i].prenume); printf("Introduceti nota studentului %i: ",i+1); cin>>A[i].nota; }; printf("Studentii introdusi sunt"); for(i=0;i<n;i++) { printf("\n\t%d %s\t",i+1,A[i].nume); printf("%s\t",A[i].prenume); printf("%d",A[i].nota);};i=0;

while(i<n-1) {min=A[i]; l=i;j=i+1; while(j<n) {if(min.nota>A[j].nota) {min=A[j]; l=j;} j=j+1;}C=A[i]; A[i]=A[l]; A[l]=C; i=i+1;}; printf("\nStudentii sortati sunt");for(i=0;i<n;i++){ printf("\n\t%d %s\t",i+1,A[i].nume); printf("%s\t",A[i].prenume); printf("%d",A[i].nota);};getch();}

4.Sortare prin metoda interclasării:

#include<stdio.h>#include<conio.h>#include<iostream.h>void main(){ struct student{char nume[10],prenume[10];int nota;}; student T1[100],T2[100],T3[100]; int i,j,k,n,m; clrscr(); printf("Introduceti nr de studenti pentru T1:"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Introduceti numele %i: ",i+1); scanf("%s",T1[i].nume); printf("Introduceti prenumele %i: ",i+1); scanf("%s",T1[i].prenume); printf("Introduceti nota %i: ",i+1); cin>>T1[i].nota; }; printf("Introduceti nr de studenti pentru T2:"); scanf("%d",&m); for(i=0;i<m;i++) { printf("Introduceti numele %i: ",i+1); scanf("%s",T2[i].nume); printf("Introduceti prenumele %i: ",i+1); scanf("%s",T2[i].prenume); printf("Introduceti nota %i: ",i+1); cin>>T2[i].nota; };

printf("Studentii pentru T1 introdusi sunt"); for(i=0;i<n;i++) {printf("\n\t%d %s\t",i+1,T1[i].nume); printf("%s\t",T1[i].prenume); printf("%d",T1[i].nota);};printf("\nStudentii pentru T2 introdusi sunt"); for(i=0;i<m;i++) {printf("\n\t%d %s\t",i+1,T2[i].nume); printf("%s\t",T2[i].prenume); printf("%d",T2[i].nota);};i=0;j=0;k=0; while((i<n)&&(j<m)) {if(T1[i].nota<T2[j].nota){T3[k]=T1[i];k=k+1;i=i+1;}else {T3[k]=T2[j];k=k+1; j=j+1;}}while(i<n){ T3[k]=T1[i];k=k+1;i=i+1;}

Page 3: Laborator3 C

while(j<m){ T3[k]=T2[j];k=k+1; j=j+1;}; printf("\nStudentii sortati sunt");for(i=0;i<(n+m);i++){printf("\n\t%d %s\t",i+1,T3[i].nume); printf("%s\t",T3[i].prenume); printf("%d",T3[i].nota);};getch();}

5.Sortare prin metoda distribuirii:

#include <stdio.h>#include <math.h>#include <conio.h>#include <iostream.h> void main (){clrscr();int A[50],B[50];int C,i,j,n,n1=20,n2=40;printf("Dati nr de elemente al tabloului:");scanf("%d",&n);printf("Introduceti cifrele\n");for(i=0;i<n;i++) scanf("%d",&A[i]); printf("tabloul introdus este\n"); for(i=0;i<n;i++) printf("%d ",A[i]);i=n1;while(i<=n2){B[i]=0;i=i+1;}i=0;while(i<=n){C=A[i];B[C]=C;

i=i+1;}i=0;j=n1;while(j<=n2){if(B[j] == 0);

else {A[i]=B[j]; i=i+1;}

j=j+1;}printf("\nTabloul sortat este:\n");for(i=0;i<n;i++)

printf("%d ",A[i]);

getch();}