Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct NOD{
- int nr;
- struct NOD *next;
- }NOD;
- NOD *creare_nod(int nr){
- NOD *nod_nou = malloc(sizeof(NOD));
- nod_nou -> nr = nr;
- nod_nou -> next = NULL;
- return nod_nou;
- }
- NOD *adauga_numar(NOD *head, int nr){
- NOD *nr_nou = creare_nod(nr), *nod = head;
- if(head == NULL)
- return nr_nou;
- if(head -> nr > nr){
- nr_nou -> next = head;
- return nr_nou;
- }
- while(nod->next && nod ->next ->nr < nr) nod = nod-> next;
- nr_nou -> next = nod->next;
- nod -> next = nr_nou;
- return head;
- }
- int numere_lipsa(NOD *head, int n){
- int nr = head -> nr - 0;
- NOD *nod = head;
- for(; nod -> next; nod = nod -> next){
- if(nod -> next -> nr - nod -> nr > 1)
- nr += (nod -> next -> nr - nod -> nr -1);
- }
- nr += n - nod->nr;
- return nr;
- }
- int main(){
- int n, nr = 0, num;
- NOD *numere = NULL;
- scanf("%d", &n);
- while(scanf("%d", &num) != EOF){
- numere = adauga_numar(numere, num);
- }
- nr = numere_lipsa(numere, n);
- printf("%d", nr);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement