Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdint.h>
- #include "employee.h"
- #include "elist.h"
- #include "inputOutput.h"
- using namespace std;
- struct Node {
- struct Node * next;
- int number;
- };
- void add_node(int number);
- void add_node_copy(int number);
- void print_numbers();
- void print_numbers_copy();
- struct Node * create_node(int number);
- int find_min();
- void create_copy();
- void decrease_numbers(int d);
- struct Node start; // struktura
- struct Node * start_pointer = &start; // adresa
- struct Node * end_pointer = &start; // pro jeden uzel je start i end
- struct Node start_copy; // struktura
- struct Node * start_copy_pointer = &start_copy; // adresa
- struct Node * end_copy_pointer = &start_copy; // pro jeden uzel je start i end
- int main() {
- /* NACTI ZE SOUBORU */
- bool on_start = true;
- ifstream file;
- file.open("numbers.txt");
- int i;
- // vytvori list
- while (file >> i) {
- if(on_start){
- start.number = i;
- on_start = false;
- } else{
- add_node(i);
- }
- }
- // vypis seznam
- cout << "PRINTING ALL NODES" << endl;
- print_numbers();
- // find min
- int minimum = find_min();
- cout << endl << "MINIMUM JE " << minimum << endl << endl;;
- //vypis kopii
- create_copy();
- cout << "PRINTING ALL NODES IN COPY" << endl;
- print_numbers_copy();
- int decrease = 5;
- cout << endl << "DECREASING FOR " << decrease << endl;
- decrease_numbers(decrease);
- cout << "done";
- return 0;
- }
- void add_node(int number){
- struct Node * n = create_node(number);
- end_pointer->next = n;
- end_pointer = n;
- }
- void print_numbers(){
- struct Node * pointer = start_pointer;
- cout << "cislo v nodu je " << pointer->number << endl;
- while(pointer != end_pointer){
- pointer = pointer->next;
- cout << "cislo v nodu je " << pointer->number << endl;
- };
- }
- struct Node * create_node(int number){
- struct Node * n = new Node();
- n->number = number;
- return n;
- }
- int find_min(){
- struct Node * pointer = start_pointer;
- int min = start_pointer->number;
- while(pointer != end_pointer){
- pointer = pointer->next;
- if(pointer->number < min){
- min = pointer->number;
- }
- };
- return min;
- }
- void create_copy(){
- struct Node * pointer = start_pointer;
- int last_num = start_pointer->number;
- pointer = pointer->next;
- int nasobek = last_num * pointer->number;
- start_copy_pointer->number = nasobek;
- while(pointer != end_pointer){
- pointer = pointer->next;
- nasobek = last_num * pointer->number;
- add_node_copy(nasobek);
- last_num = pointer->number;
- };
- }
- void add_node_copy(int number){
- struct Node * n = create_node(number);
- end_copy_pointer->next = n;
- end_copy_pointer = n;
- }
- void print_numbers_copy(){
- struct Node * pointer = start_copy_pointer;
- cout << "cislo v nodu je " << pointer->number << endl;
- while(pointer != end_copy_pointer){
- pointer = pointer->next;
- cout << "cislo v nodu je " << pointer->number << endl;
- };
- }
- void decrease_numbers(int d){
- struct Node * pointer = start_pointer;
- pointer->number = pointer->number - d;
- cout << "nove cislo v nodu je " << pointer->number << endl;
- while(pointer != end_pointer){
- pointer = pointer->next;
- pointer->number = pointer->number - d;
- cout << "nove cislo v nodu je " << pointer->number << endl;
- };
- }
Advertisement
Add Comment
Please, Sign In to add comment