Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //#include "stdafx.h"
- #include <iostream>
- using namespace std;
- struct elem //структура на списъка
- {
- int key; //стойност
- elem *next; //следващ елемент
- }*start;
- int counter = 0; //колко пъти се среща елемента
- int value = 0; //стойноста на елемента
- int mostCounter = 0; //Брой на най - често срещан елемент
- int mostValie = 0; //стойност на най-често срещан елемент
- //декларация на функциите
- void init();
- void add_e(int n);
- int search_el(int n);
- void main()
- {
- init(); //инициализация
- cout << "Vavedete chisla za spisaka (0 za kraj): ";
- int number = -1;
- while (true) //въвеждане на числата безкрайно на брой пъти
- {
- cin >> number;
- if (number == 0) //край на цикъла за въвеждане ако числото е 0
- {
- break;
- }
- add_e(number); //добавяне на елемента отдясно в списъка
- }
- elem *p1 = start; //елемента (почва се с първия)
- while (p1->next) //за всеки елемент от списъка
- {
- search_el(p1->key); //преброй колко пъти се среща и стойноста му
- if (counter > mostCounter) { //ако наистина е най-често срещания елемент
- mostCounter = counter; //промени стойностите на променливите
- mostValie = value;
- }
- //зануляване:
- counter = 0;
- value = 0;
- p1 = p1->next; //премени към следващия елемент
- }
- //извеждане на резултати:
- cout << "Naj - chesto sreshtan: " << mostValie << endl;
- cout << "Povtarq se: " << mostCounter << " na broj pati." << endl;
- }
- void init() //инициализация
- {
- start = NULL;
- }
- void add_e(int n) //добавяне на елемента в края (отдясно)
- {
- elem *p = start, *q;
- q = new elem;
- q->key = n;
- q->next = NULL;
- if (start)
- {
- while (p->next)
- p = p->next;
- p->next = q;
- }
- else
- {
- start = q;
- }
- }
- int search_el(int n) //търсене на елемент и броене на броя срещания и стойността му.
- {
- elem *p = start;
- if (start)
- {
- while (true)
- {
- if (p->key == n)
- {
- counter++;
- value = n;
- }
- if (p->next == NULL)
- {
- break;
- }
- p = p->next;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment