Skip to content
This repository was archived by the owner on Jul 30, 2023. It is now read-only.

Commit 60e4ee0

Browse files
author
danyathecoder
committed
Lab6
1 parent 6b67914 commit 60e4ee0

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

Lab6.cpp

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#include <iostream>
2+
3+
using namespace std;
4+
5+
//Функция для подсчета количества элементов удовлетворяющих определенному условию.
6+
7+
template<typename T>
8+
int spec_counter(const T *arr, int size, T x){
9+
int counter = 0;
10+
for(int i = 0; i < size; i++){
11+
if(arr[i] == x)
12+
counter++;
13+
}
14+
return counter;
15+
}
16+
17+
//явная спецификация
18+
19+
template<>
20+
int spec_counter(const char *arr, int size, char x){
21+
int counter = 0;
22+
for(int i = 0; i < size; i++){
23+
if(arr[i] == x)
24+
counter++;
25+
}
26+
return counter;
27+
}
28+
29+
int main() {
30+
char arr_char[] = {'a', 'b', 'c', 'd', 'a', 'f', 'g'};
31+
cout << spec_counter(arr_char, sizeof(arr_char)/sizeof(arr_char[0]), 'a') <<
32+
" elements found" << endl;
33+
34+
int n = 0, x;
35+
cout << "Enter size of array:" << endl;
36+
cin >> n;
37+
int *arr_int = new int[n];
38+
cout << "Enter the values in array" << endl;
39+
for(int i = 0; i < n; i++){
40+
cin >> arr_int[i];
41+
}
42+
cout << "Value to find:" << endl;
43+
cin >> x;
44+
cout << spec_counter(arr_int, n, x);
45+
return 0;
46+
}

0 commit comments

Comments
 (0)