* Библиотека за работа с масиви

Да се създаде библиотека за работа с масиви (с файлове masivi.h и masivi.cpp), който съдържа следните функции:

  1. четене на масив от клавиатурата
  2. извеждане на масив на екрана
  3. преобразуване на масив от низове в масив от числа
  4. намиране на сумата на елементите на масив
  5. намиране на броят елементи, равни на някаква стойност
  6. намиране на броят елементи, по-големи от дадена стойност
  7. ** прехвърляне в друг масив на всички елементи, равни на някаква стойност
  8. ** прехвърляне в друг масив на всички елементи, по-големи от дадена стойност

Първите 3 са за масиви от низове, а останалите – за целочислени масиви. Напишете програма, която демонстрира тази библиотека.

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

2 Responses to * Библиотека за работа с масиви

  1. kaloyan каза:

    Главната програма:

    #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

    //четене на масив от клавиатурата
    void chetene(char str[]);
    
    //извеждане на масив на екрана
    void izvejdane(char str[]);
    
    //преобразуване на масив от низове в масив от числа
    void preobrazuvane(char str[]);
    
    //намиране на сумата на елементите на масив
    int suma(int arr[], int length);
    
    //намиране на броят елементи, равни на някаква стойност
    int br_elementi(int arr[], int length, int stoinost);
    
    //намиране на броят елементи, по-големи от дадена стойност
    int br_golemi(int arr[], int length, int stoinost);
    
    //** прехвърляне в друг масив на всички елементи, равни на някаква стойност
    void prehvarlqne_ravni(int arr[], int ravni[], int length, int stoinost);
    
    //** прехвърляне в друг масив на всички елементи, по-големи от дадена стойност
    void prehvarlqne_golemi(int arr[], int golemi[], int length, int stoinost);

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