Documente Academic
Documente Profesional
Documente Cultură
RAPORT
Lucrare de laborator NR.1
Obiectul: Matematica Discreta
Chiinu 2015
SARCINA DE BAZ
<stdio.h>
<stdlib.h>
<string.h>
<conio.h>
}
//Introducerea datelor
void read(arc *a,int u,int x){
int i;
for(i=0;i<u;i++){
in: system("cls");
printf("Introduceti datele arcului %d\n",i+1);
printf("Introduceti inceputul X: ");
scanf("%d",&a[i].vi);
printf("Introduceti sfirsitul X: "); scanf("%d",&a[i].vf);
if(!(a[i].vi >=1 && a[i].vi <= x && a[i].vf >=1 && a[i].vf
<= x)){
printf("\a\nVALOARE INCOMPATIBILA!\nPentru a continua
tastati ENTER...\n");
getch();
goto in;
}
}
}
//Calcul matrice incidenta
void ma_in(arc *a,int **vect,int u,int x){
int i,j;
for(i=0;i<u;i++){
for(j=0;j<x;j++){
if(a[i].vi==a[i].vf && a[i].vi==j+1)
vect[i][j]=2;
else if(a[i].vi==j+1)
vect[i][j]=-1;
else if(a[i].vf==j+1)
vect[i][j]=1;
else vect[i][j]=0;
}
}
}
//Modificarea arcelor
void modif(arc *a,int ar){
printf("*************************\n");
printf("Datele arcului %d",ar);
printf(" Din %d in %d\n\n",a[ar-1].vi,a[ar-1].vf);
printf("Introduceti inceputul X: ");
scanf("%d",&a[ar1].vi);
printf("Introduceti sfirsitul X: ");
scanf("%d",&a[ar1].vf);
}
//Afisare matrici
void showm(int **vect,int n, int m){
int i,j;
for (i=0; i<m; i++){printf("\tX%d",i+1 );}
printf("\n");
for(i=0;i<n;i++){
printf("U%d", i+1);
for(j=0;j<m;j++)
printf("\t%d",vect[i][j]);
printf("\n\n");
}
getch();
}
//Afisare arce
void showl(arc *a,int u){
int i;
for(i=0;i<u;i++){
printf("Datele arcului %d\n",i+1);
printf("%d -> %d\n\n",a[i].vi,a[i].vf);
}
getch();
}
//Afisare lista
void showli(int **vect,int n,int m){
int i,j;
for(i=0;i<n;i++){
printf("%d -> ",vect[i][0]);
for(j=1;j<m;j++){
printf(" %d",vect[i][j]);
if(vect[i][j]==0)
break;
}
printf("\n\n");
}
getch();
}
//int delete_arc()
int adda(arc *a,int u,int x){
int i;
u++;
for(i=u-1;i<u;i++){
in: system("cls");
printf("**************************\n");
printf("Introduceti datele arcului %d\n",u);
printf("Introduceti inceputul X: ");
scanf("%d",&a[i].vi);
printf("Introduceti sfirsitul X: "); scanf("%d",&a[i].vf);
if(!(a[i].vi >=1 && a[i].vi <= x && a[i].vf >=1 && a[i].vf
<= x)){
printf("\a\nVALOARE INCOMPATIBILA!\nPentru a continua
tastati ENTER...\n");
getch();
goto in;
}
}
}
int main(){
arc *a=NULL; //ARCE struct
int **MI=NULL; //Matricea incidenta
int **MA=NULL; //Matricea adiacenta
int **LA=NULL; //Lista adiacenta
int i, u=0, x=0;
int ar, m=1, op;
while (1){
system("cls");
printf("\n\t\t\t********** MENU *************");
printf("\n\t\t\t*>> 1.Introduceti datele.
*");
printf("\n\t\t\t********** AFISARE ************");
printf("\n\t\t\t*>> 2.Afisare arce.
*");
printf("\n\t\t\t*>> 3.Afisare matrice incidenta.*");
printf("\n\t\t\t*>> 4.Afisare matrice adiacenta.*");
printf("\n\t\t\t*>> 5.Afisare lista adiacenta. *");
printf("\n\t\t\t******** MODIFICARE ***********");
printf("\n\t\t\t*>> 6.Modificare arce.
*");
printf("\n\t\t\t*>> 7.Adaugare arce.
*");
printf("\n\t\t\t*********************************");
printf("\n\t\t\t*>> 0.Iesire.
*");
printf("\n\t\t\t*********************************");
printf("\n\n\t\t\tAlegeti optiunea: \n\t\t\t>>
scanf("%d", &op);
switch (op){
");
2. INTERFATA PROGRAMULUI
MENU principal