Предмет: Информатика, автор: ynther

ЗАДАЧА С++ ХЕЛП ПЛИЗ
Сашко, написав програму, яка виконувала наступні дії:
1) введення з клавіатури даних в масив, що складається з десяти елементів типу Computer (3 бали);
2)впорядкування записів у масиві за зростанням ціни (+1 бал).
3) виведення на екран даних про всі комп’ютери, що працюють на базі процесора, тип якого вводиться з клавіатури. Якщо таких немає – вивести відповідне повідомлення (+1 бал).​

Ответы

Автор ответа: nazikmuz
1

Відповідь:

С++ code:

#include <iostream>

#include <string>

class Computer{

private:

std::string mark;

std::string processor;

int price;

public:

Computer();

Computer(std::string,std::string,int);

~Computer() = default;

friend std::istream& operator >>(std::istream&, Computer&);

friend std::ostream& operator <<(std::ostream&, const Computer&);

int get_price(){return this->price;}

std::string get_processor(){return this->processor;}

};

Computer::Computer(){

this->mark = "mark";

this->processor = "processor";

this->price = 0;

}

Computer::Computer(std::string mark,std::string processor,int price){

this->mark = mark;

this->price = price;

this->processor = processor;

}                                                  

std::istream& operator >>(std::istream& in,Computer& object){

std::cout << "Введiть марку комп'ютера: ";

in >> object.mark;

std::cout << "Введiть процессор: ";

in >> object.processor;

std::cout << "Цiна: ";

in >> object.price;

return in;

}

std::ostream& operator <<(std::ostream& out, const Computer& object){

out << "Марка: " << object.mark << " Процессор: " << object.processor << " Цiна: " << object.price << std::endl;

return out;

}

void sort_price(Computer* arr,unsigned int size){

for (int i = 0; i < size - 1; ++i){

 int smallest = i;

 for (int j = i + 1; j < size; ++j){

  if (arr[j].get_price() < arr[smallest].get_price())

   smallest = j;

 }

 std::swap(arr[i], arr[smallest]);

}

}

void fillarray(Computer* arr,const int size){

for(int i = 0; i < size; i++){

 std::cin >> arr[i];

}

}

void printarray(Computer* arr,const int size){

for(int i = 0; i < size; i++){

 std::cout << arr[i] << std::endl;

}

}

void print_processor(Computer *arr,const int size){

std::string find;

std::cout << "Введiть назву процесcора: ";

bool flag = false;

std::cin >> find;

for(int i = 0; i < size; i++){

 if(arr[i].get_processor() == find){

  flag = true;

  std::cout << arr[i];

 }

}

if(flag == false){

 std::cout << "Комп'ютерiв на базi цього процессора немає" << std::endl;

}

}

int main(){

setlocale(LC_ALL, "Ukrainian");

const int size = 3;

Computer *array = new Computer[size];

fillarray(array,size);

printarray(array,size);

std::cout << "Сортуємо за цiною: " << std::endl;

sort_price(array,size);

printarray(array,size);

std::cout << "Шукаємо всi комп'ютери за заданим процессором..." << std::endl;

print_processor(array,size);

delete[] array;

return 0;

}

Пояснення:

Похожие вопросы
Предмет: Русский язык, автор: 1alinCHIK1
Предмет: Окружающий мир, автор: burdalevani
Предмет: Английский язык, автор: mama102246кв1635679