Да се напишат функции за работа с масиви, които позволяват следното:
- въвеждане на масив от клавиатурата и връщане на броят на въведените елементи
- отпечатване на масива
- намиране на сумата на елементите на масива
- намиране на броят на ненулевите елементи в масива
- намиране на максимален и минимален елемент в масива
Да се напише и главна функция, която демонстрира тези функции.


Ето и началото на програмата:
#include <iostream> using namespace std; // въвеждане на масив от клавиатурата bool readArray(int a[], int &n) { cout<<"Vavedete broi elementi: "; cin>>n; bool validen=n>0; if (validen) { cout<<"Vavedete elementite na masiva: "; for (int i=0; i<n; i++) cin>>a[i]; } return validen; } // отпечатване на масив на екрана void printArray(const int a[], int n) { for (int i=0; i<n; i++) cout<<a[i]<<' '; cout<<endl; } // преброява елементите, равни на дадена стойност int countArrayItemsEqual(const int a[], int n, int Value) { int count=0; for (int i=0; i<n; i++) if(a[i]==Value) count++; return count; } int main(int argc, char *argv[]) { int a[20], n; // извикване на функциите if (readArray(a, n)) { cout<<"nVie vavedohte masiva:n"; printArray(a, n); cout<<"nBroiat na nulevite elementi e "<<countArrayItemsEqual(a, n, 0)<<endl; } system("PAUSE"); return 0; }#include <iostream> using namespace std; // ????????? ?? ????? ?? ???????????? bool readArray(int a[], int &n) { cout<<"Vavedete broi elementi: "; cin>>n; bool validen=n>0; if (validen) { cout<<"Vavedete elementite na masiva: "; for (int i=0; i<n; i++) cin>>a[i]; } return validen; } // ??????????? ?? ????? ?? ?????? void printArray(const int a[], int n) { for (int i=0; i<n; i++) cout<<a[i]<<' '; cout<<endl; } // ????????? ??????????, ????? ?? ?????? ???????? int countArrayItemsEqual(const int a[], int n, int Value) { int count=0; for (int i=0; i<n; i++) if(a[i]==Value) count++; return count; } int PrintSum (int a[], int n) { int sum=0; for (int i=0; i<n; i++) sum=sum+a[i]; return sum; } int PrintMin (int a[], int n) { int min=a[0]; for (int i=0; i<n; i++) if (min<a[i]) min=a[i]; return min; } int PrintMax (int a[], int n) { int max=a[0]; for (int i=0; i<n; i++) if (a[i]>max) max=a[i]; return max; } int main(int argc, char *argv[]) { int a[20], n; // ????????? ?? ????????? if (readArray(a, n)) { cout<<"\n Vie vavedohte masiva:\n"; printArray(a, n); cout<<"\nBroiat na nulevite elementi e "<<countArrayItemsEqual(a, n, 0)<<endl; } cout<<"Sumata e:"<<PrintSum(a,n)<<endl; cout<<"Nai-malkoto e: "<<PrintMin(a, n)<<endl; cout<<"Nai-golqmoto e: "<<PrintMax(a, n)<<endl; system("PAUSE"); return 0; }Браво, много добре направено! Имам само две малки забележки:
1) Функциите не е нужно да се казва Print-нещо-си, защото не отпечатват нищо, а го връщат като резултат (за разлика от PrintArray, която отпечатва масива на екрана)
2) за да се копира и текста на коментарите, а да не е така с въпросителни, превключи клавиатурата на българска подредба и преди да копираш, и преди да поставиш копираното в браузъра. Т.е. и преди Copy, и преди Paste.