Sunteți pe pagina 1din 14

Universitatea Tehnică a Moldovei

Catedra Automatică și Tehnologii Informaționale

Disciplina Structuri de date si algoritmi

Varianta 7

Raport

Tema: Liste

A realizat student grupa TI-

A verificat Moțpan Serghei

Chisinău 2018
Cuprin

2
s

1. Scopul și obiectivele lucrării....................................................................................................3


2. Sarcina......................................................................................................................................4
3. Schema bloc.............................................................................................................................5
4. Realizarea.................................................................................................................................7
Concluzii..........................................................................................................................................8
Bibliografie......................................................................................................................................9
Anexa A.........................................................................................................................................10
Anexa B.........................................................................................................................................11

3
1. Scopul și obiectivele lucrării

a. Familiarizarea cu principiile listelor


b. Algoritmizarea şi însuşirea procedeelor stereotipe de citire, scriere si lucru cu listele
c.

4
2. Sarcina

7. Scrieţi un program de inversare a cei n biţi ai elementelor unei liste simplu lănţuită, care încep
de la poziţia p, lăsîndu-i pe ceilalţi neschimbaţi şi le salvează în una nouă. Sa se scrie o funcţie
care transforma o lista intr-o multime

5
3. Schema bloc

START

Int n, *a;

insert(1);

insert(0);

insert(1);

printList();

printList();

printList();

Interschimbare();

Transformare();

STOP

6
Figura 1 Schema bloc pentru functia main

Figura 2 Schema bloc pentru functia interschimbare

7
4. Realizarea

Programul dat are ca scop să primeasca o lista si sa interschimbe 0 cu 1 si invers.


void interschimbare(int n)

int i=0;

struct node *ptr=head;

for(i=0;i<n;i++)

ptr=ptr->next;

while(ptr!=NULL)

if(ptr->data==1) {ptr->data=0;}

else

if(ptr->data==0) {ptr->data=1;}

ptr=ptr->next;

8
Concluzii

Lucrarea dată a avut ca scop să ne facă cunostinta cu listele, parcurgerea si operarea cu


ele.

9
Bibliografie

1. The GNU C Reference Manual. [Interactiv] https://www.gnu.org/software/gnu-c-


manual/gnu-c-manual.html.
2. The C Library Reference Guide. [Interactiv] https://www-
s.acm.illinois.edu/webmonkeys/book/c_guide/.

10
Anexa A

Figura 3 Rezultatul executiei programului

11
Anexa B
#include <stdio.h>
#include <stdlib.h>

struct node {
int data;
struct node *next;
};

struct node *head = NULL;


struct node *current = NULL;

void printList() {

struct node *ptr = head;

printf("\n[head] =>");
for(ptr=head;ptr!=NULL;ptr=ptr->next)
printf(" %d =>",ptr->data);

printf(" [null]\n");
}

void insert(int data) {

struct node *link = (struct node*) malloc(sizeof(struct node));


link->data = data;
link->next = head;
head = link;
}

void interschimbare(int n)
{
int i=0;
12
struct node *ptr=head;

for(i=0;i<n;i++)
ptr=ptr->next;

while(ptr!=NULL)
{

if(ptr->data==1) {ptr->data=0;}
else
if(ptr->data==0) {ptr->data=1;}

ptr=ptr->next;

}
}

void transformare()
{
struct node *ptr=head;
int i=0,*a;
a=calloc(count(),sizeof(int*));
while(ptr!=NULL)
{
a[i]=ptr->data;
ptr=ptr->next;
i++;
}
for(i=0;i<count();i++)
printf("%d ",a[i]);
free(a);
}

int count(length)
{
struct node *ptr=head;
length=0;
13
while(ptr!=NULL)
{
length++;
ptr=ptr->next;
}
return length;
}

int main() {
int n,*a;
insert(1);
insert(0);
insert(1);
insert(0);
insert(1);
insert(1);
printList();
printf("\nDe la care nod incepem schimbarea? "); scanf("%d",&n);
interschimbare(n);
printf("\n");
printList();
printf("\n");
printf("\nNumarul de noduri in lista este %d",count());
printf("\n\nLista transformata in vector:\n ");
transformare();

return 0;
}

14

S-ar putea să vă placă și

  • IoT2 Raport
    IoT2 Raport
    Document10 pagini
    IoT2 Raport
    crismaruion
    Încă nu există evaluări
  • Lab 4 Apa
    Lab 4 Apa
    Document21 pagini
    Lab 4 Apa
    crismaruion
    Încă nu există evaluări
  • IoT2 Raport
    IoT2 Raport
    Document10 pagini
    IoT2 Raport
    crismaruion
    Încă nu există evaluări
  • IoT Laborator NR 2
    IoT Laborator NR 2
    Document10 pagini
    IoT Laborator NR 2
    crismaruion
    Încă nu există evaluări
  • Raport 5 CDE
    Raport 5 CDE
    Document7 pagini
    Raport 5 CDE
    crismaruion
    Încă nu există evaluări
  • Lab 7 Sda
    Lab 7 Sda
    Document12 pagini
    Lab 7 Sda
    crismaruion
    Încă nu există evaluări
  • Lab 6 Sda
    Lab 6 Sda
    Document16 pagini
    Lab 6 Sda
    crismaruion
    Încă nu există evaluări
  • Lab 5 Sda
    Lab 5 Sda
    Document12 pagini
    Lab 5 Sda
    crismaruion
    Încă nu există evaluări
  • Lab 1-2 Sda
    Lab 1-2 Sda
    Document20 pagini
    Lab 1-2 Sda
    crismaruion
    Încă nu există evaluări
  • Lab 3 Sda
    Lab 3 Sda
    Document14 pagini
    Lab 3 Sda
    crismaruion
    Încă nu există evaluări
  • Laboratorul 2 PPE
    Laboratorul 2 PPE
    Document4 pagini
    Laboratorul 2 PPE
    crismaruion
    Încă nu există evaluări
  • Arhitectura Calculatoarelor Curs UTM
    Arhitectura Calculatoarelor Curs UTM
    Document47 pagini
    Arhitectura Calculatoarelor Curs UTM
    Mihai Croitoru
    Încă nu există evaluări
  • Laborator 2 APA
    Laborator 2 APA
    Document20 pagini
    Laborator 2 APA
    crismaruion
    Încă nu există evaluări
  • Laborator 1 APA
    Laborator 1 APA
    Document14 pagini
    Laborator 1 APA
    crismaruion
    Încă nu există evaluări
  • Raport4 Lab4 AC
    Raport4 Lab4 AC
    Document3 pagini
    Raport4 Lab4 AC
    crismaruion
    Încă nu există evaluări
  • Examen PPe
    Examen PPe
    Document11 pagini
    Examen PPe
    crismaruion
    100% (2)
  • Proiect AMSI
    Proiect AMSI
    Document38 pagini
    Proiect AMSI
    crismaruion
    0% (1)
  • Raport3 CDE UTM
    Raport3 CDE UTM
    Document2 pagini
    Raport3 CDE UTM
    crismaruion
    Încă nu există evaluări
  • Raport CDE Lab.2
    Raport CDE Lab.2
    Document7 pagini
    Raport CDE Lab.2
    crismaruion
    100% (1)