Да се създаде библиотека за работа с масиви (с файлове masivi.h и masivi.cpp), който съдържа следните функции:
- четене на масив от клавиатурата
- извеждане на масив на екрана
- преобразуване на масив от низове в масив от числа
- намиране на сумата на елементите на масив
- намиране на броят елементи, равни на някаква стойност
- намиране на броят елементи, по-големи от дадена стойност
- ** прехвърляне в друг масив на всички елементи, равни на някаква стойност
- ** прехвърляне в друг масив на всички елементи, по-големи от дадена стойност
Първите 3 са за масиви от низове, а останалите – за целочислени масиви. Напишете програма, която демонстрира тази библиотека.


Главната програма:
#include <iostream> #include <stdlib.h> #include "masivi.h" #include <string.h> using namespace std; int main(int argc, char** argv) { char str[]=""; const int length=6; int arr[length]={1,2,3,4,5,2}; int ravni[]={}; int golemi[]={}; chetene(str); izvejdane(str); preobrazuvane(str); cout<<"Sumata na elementite na masiva e: "<<suma(arr,length)<<endl; cout<<"Broi na elementi s dadena stoinost: "<<br_elementi(arr, length, 2)<<endl; cout<<"Broi na elementi po-golemi ot dadena stoinost: "<<br_golemi(arr, length, 2)<<endl; prehvarlqne_ravni(arr, ravni, length, 2); prehvarlqne_golemi(arr, golemi, length, 2); system("pause"); return 0; }masivi.cpp
#include <iostream> #include <stdlib.h> #include <string.h> using namespace std; //четене на масив от клавиатурата void chetene(char str[]){ cin>>str; } //извеждане на масив на екрана void izvejdane(char str[]){ cout<<str<<endl; } //преобразуване на масив от низове в масив от числа void preobrazuvane(char str[]){ int i=0; while (str[i] != '\0') i++; int arr[i]; for(int j=0; j<i; j++){ switch(str[j]){ case '1' : arr[j]=1; break; case '2' : arr[j]=2; break; case '3' : arr[j]=3; break; case '4' : arr[j]=4; break; case '5' : arr[j]=5; break; case '6' : arr[j]=6; break; case '7' : arr[j]=7; break; case '8' : arr[j]=8; break; case '9' : arr[j]=9; break; } } } //намиране на сумата на елементите на масив int suma(int arr[], int length){ int suma=0; for(int i=0; i<length; i++){ suma=suma+arr[i]; } return suma; } //намиране на броят елементи, равни на някаква стойност int br_elementi(int arr[], int length, int stoinost){ int br=0; for(int i=0; i<length; i++){ if(arr[i]==stoinost) br++; } return br; } //намиране на броят елементи, по-големи от дадена стойност int br_golemi(int arr[], int length, int stoinost){ int br=0; for(int i=0; i<length; i++){ if(arr[i]>stoinost) br++; } return br; } //** прехвърляне в друг масив на всички елементи, равни на някаква стойност void prehvarlqne_ravni(int arr[], int ravni[], int length, int stoinost){ int j=0; for(int i=0; i<length; i++){ if(arr[i]==stoinost){ ravni[j]=arr[i]; j++; } } } //** прехвърляне в друг масив на всички елементи, по-големи от дадена стойност void prehvarlqne_golemi(int arr[], int golemi[], int length, int stoinost){ int j=0; for(int i=0; i<length; i++){ if(arr[i]>stoinost){ golemi[j]=arr[i]; j++; } } }masivi.h
Браво, много добре! Сега мисля че вече ти е ясно как се правят и ползата от хедър файловете :-)