Програма за работа с масиви

Да се напишат функции за работа с масиви, които позволяват следното:

  1. въвеждане на масив от клавиатурата и връщане на броят на въведените елементи
  2. отпечатване на масива
  3. намиране на сумата на елементите на масива
  4. намиране на броят на ненулевите елементи в масива
  5. намиране на максимален и минимален елемент в масива

Да се напише и главна функция, която демонстрира тези функции.

Публикувано в 11а, 11в. Постоянна връзка.

3 Responses to Програма за работа с масиви

  1. Данаил каза:

    Ето и началото на програмата:

    #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;
    }
  2. kr1stiqn1995 каза:
    #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.

Вашият коментар