Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include "stdlib.h"
- typedef struct Bron Bron;
- struct Bron{
- int numer_broni;
- Bron *next;
- };
- //dodawanie broni w N miejsce razem z pierwszym i ostatnim
- void dodaj_bron(Bron *lista, int miejsce){
- int i = 1;
- Bron *first = lista;
- Bron *dodaj = (Bron *)malloc(sizeof(Bron));
- printf("Wprowadz numer katalogowy broni: ");
- scanf("%d", &dodaj->numer_broni);
- if(miejsce == 0){
- dodaj->next = first;
- lista = dodaj;
- }else {
- while (first != NULL) {
- if (i == miejsce) {
- dodaj->next = first->next;
- first->next = dodaj;
- }
- first = first->next;
- i++;
- }
- if(miejsce > i){
- first->next = dodaj;
- dodaj->next = NULL;
- }
- }
- printf("\n Lista broni. \n");
- first = lista;
- while (first != NULL) {
- printf("Numer katalogowy: %d\n", first->numer_broni);
- first = first->next;
- }
- }
- void dodaj_pierwszy(Bron *lista){
- Bron *dodaj = (Bron *)malloc(sizeof(Bron));
- Bron *first = lista;
- dodaj->numer_broni = 20;
- if(first == NULL) {
- dodaj->next = NULL;
- }
- dodaj->next = first;
- lista = dodaj;
- printf("\n Lista broni. \n");
- first = lista;
- while (first != NULL) {
- printf("Numer katalogowy: %d\n", first->numer_broni);
- first = first->next;
- }
- }
- // usuwanie pierwszego i ostatniego
- void usuwanie(Bron *lista){
- Bron *first = lista;
- Bron *prev;
- // usuwanie pierwszego elementu
- lista = first->next;
- free(first);
- // usuwanie ostatniego elementu
- first = lista;
- while (first->next != NULL) {
- prev = first;
- first = first->next;
- }
- prev->next = NULL;
- free(first);
- // wyswietlanie
- first = lista;
- while (first != NULL) {
- printf("Numer katalogowy: %d\n", first->numer_broni);
- first = first->next;
- }
- }
- int main() {
- Bron *Bron1 = (Bron*)malloc(sizeof(Bron));
- Bron *Bron2 = (Bron*)malloc(sizeof(Bron));
- Bron *Bron3 = (Bron*)malloc(sizeof(Bron));
- Bron *Bron4 = (Bron*)malloc(sizeof(Bron));
- Bron1->numer_broni = 1;
- Bron2->numer_broni = 2;
- Bron3->numer_broni = 3;
- Bron4->numer_broni = 4;
- Bron1->next = Bron2;
- Bron2->next = Bron3;
- Bron3->next = Bron4;
- Bron4->next = NULL;
- int numer;
- printf("Podaj miejsce wstawienie nowego elementu. Pierwszy element to 0!\n");
- scanf("%d", &numer);
- //dodaj_bron(Bron1, numer);
- //usuwanie(Bron1);
- Bron *head = NULL;
- dodaj_pierwszy(head);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment