Documente Academic
Documente Profesional
Documente Cultură
al Republicii Moldova
RAPORT
despre lucrarea de laborator Nr. 4
la Structuri de Date si Algoritmi
A îndeplinit:
Chişinău – 2020
Mersul lucrării:
Codul:
#include <stdio.h>
#include <string.h>
int main(){
FILE *f;
char text[100];
f = fopen("./lucru.txt", "w");
printf("Introdu sirul: ");
scanf("%s", text);
fprintf(f, "%s", text);
fclose(f);
separare(text);
return 0;
}
Lucru.txt
Ex 2
Codul:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX 100
int n,c;
struct depozit {
char denumire[100];
int pret;
int cantitate;
int ziContract;
int lunaContract;
int anContract;
};
int main( ){
int i,j;
FILE *f;
f = fopen("./experiment.txt", "w");
printf("Introdu cate marfuri sunt: "); scanf("%d", &n);
struct depozit marfa[n];
struct depozit marfa2[n];
for(i=0;i<n;i++){
printf("\n\nIntrodu datele la marfuri nr %d:\n\n", i+1);
printf("Denumirea Marfii - "); scanf("%s", &marfa[i].denumire);
printf("Pretul - "); scanf("%d", &marfa[i].pret);
printf("Cantitate(in unitati) - "); scanf("%d", &marfa[i].cantitate);
printf("Introdu ziua incheierii contractului - "); scanf("%d", &marfa[i].ziContract);
printf("Introdu luna incheierii contractului - "); scanf("%d", &marfa[i].lunaContract);
printf("Introdu anul incheierii contractului - "); scanf("%d", &marfa[i].anContract);
}
fprintf(f, "\nDenumire Pret Cantitate Data\n");
for (i=0;i<n;i++){
fprintf(f, "%s %d %d %d/%d/%d\n", marfa[i].denumire, marfa[i].pret,marfa[i].cantitate,
marfa[i].ziContract, marfa[i].lunaContract, marfa[i].anContract);
}
char arr[n][MAX];
for(i=0;i<n;i++){
strcpy(arr[i], marfa[i].denumire);
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(strcmp(arr[i], marfa[j].denumire) == 0){
strcpy(marfa2[i].denumire, marfa[j].denumire);
marfa2[i].pret = marfa[j].pret;
marfa2[i].cantitate = marfa[j].cantitate;
marfa2[i].ziContract = marfa[j].ziContract;
marfa2[i].lunaContract = marfa[j].lunaContract;
marfa2[i].anContract = marfa[j].anContract;
}
}
}
int iteration = 0;
while (strcmp(arr, EOF) != 0) {
strcpy(arr[iteration], arr);
iteration++;
scanf("%s", arr);
}
FILE *fQuick;
FILE *fselect;
fQuick = fopen("./quicksort.txt", "w");
fselect = fopen("./selectionsort.txt", "w");
selectionSort(arr, n);
fprintf(fselect, "\nDenumire Pret Cantitate Data\n");
for (i=0;i<n;i++){
fprintf(fselect, "%s %d %d
%d/%d/%d\n",marfa2[i].denumire,marfa2[i].pret,marfa2[i].cantitate,marfa2[i].ziContract,marfa2[i].lunaCont
ract,marfa2[i].anContract);
}
int nr[n];
for(i=0;i<n;i++){
nr[i] = marfa[i].pret;
}
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(nr[i] == marfa[j].pret){
strcpy(marfa2[i].denumire, marfa[j].denumire);
marfa2[i].pret = marfa[j].pret;
marfa2[i].cantitate = marfa[j].cantitate;
marfa2[i].ziContract = marfa[j].ziContract;
marfa2[i].lunaContract = marfa[j].lunaContract;
marfa2[i].anContract = marfa[j].anContract;
}
}
}
char minStr[MAX];
for (i = 0; i < n-1; i++)
{
int min_idx = i;
strcpy(minStr, arr[i]);
for (j = i + 1; j < n; j++)
{
strcpy(minStr, arr[j]);
min_idx = j;
}
}
if (min_idx != i)
{
char temp[MAX];
strcpy(temp, arr[i]);
strcpy(arr[i], arr[min_idx]);
strcpy(arr[min_idx], temp);
}
}
}
quicksort.txt
SelectionSort.txt