М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kagdhs
kagdhs
27.08.2022 15:23 •  Информатика

сегодня до 11:30! На С++! Один элемент (автомобиль) представляет собой структуру с полями: фамилия владельца, марка автомобиля, требуемая марка бензина, мощность двигателя, объём бака, остаток бензина, объем масла, дата техосмотра. Дана фиксированная цена литра бензина и заливки масла. Поиск и сортировка по марке автомобиля, мощности двигателя, дате тех осмотра

👇
Ответ:
wkolo3avr211
wkolo3avr211
27.08.2022

// ConsoleApplication14.cpp : Этот файл содержит функцию "main". Здесь начинается и заканчивается выполнение программы.

//

#

#include <iostream>

#include "Car.h"

#include <ctime>

#include <vector>

#include <chrono>

#include <string>

#include <algorithm>  

#include <Windows.h>

bool myfunction(Car i, Car j) { return (i.power < j.power); }

bool myfunction2(Car i, Car j) { return (i.brand_name_car < j.brand_name_car); }

bool myfunction1(Car i, Car j) { return (i.date_service < j.date_service); }

double getdouble() {

   double a;

       std::cin >> a;

       return a;

}

void help() {

   std::cout << "Поиск - 0" << std::endl;

   std::cout << "Сортировка - 1" << std::endl;

   std::cout << "Вывод - 2" << std::endl;

   std::cout << "Выход - 3" << std::endl;

}

void refresh(std::vector<Car> cars) {

   for (size_t i = 0; i < cars.size(); i++)

   {

       cars[i].print();

   }

}

int main()

{

   SetConsoleCP(1251);

   SetConsoleOutputCP(1251);

   std::srand(std::time(0));

   

   std::cout << "Загрузка 100 человек" << std::endl;

   std::vector<Car> cars;

   std::string surnames[] = { "Смирнов", "Иванов", "Кузнецов", "Соколов", "Попов", "Лебедев", "Козлов", "Новиков", "Морозов", "Петров",

"Волков","Соловьёв","Васильев","Зайцев","Павлов","Семёнов","Голубев","Виноградов","Богданов","Воробьёв","Фёдоров","Михайлов","Беляев",

"Тарасов","Белов","Комаров","Орлов","Киселёв","Макаров","Андреев","Ковалёв","Ильин","Гусев","Титов","Кузьмин","Кудрявцев","Баранов",

"Куликов","Алексеев","Степанов","Яковлев","Сорокин","Сергеев","Романов","Захаров","Борисов","Королёв","Герасимов","Пономарёв","Григорьев","Лазарев","Медведев","Ершов","Никитин","Соболев","Рябов","Поляков","Цветков","Данилов","Жуков","Фролов","Журавлёв","Николаев",

"Крылов","Максимов","Сидоров","Осипов","Белоусов","Федотов","Дорофеев","Егоров","Матвеев","Бобров" };

   std::string petrol_marks[] = { "А-72", "А-76", "А-80", "АИ-91", "А-92", "АИ-93", "АИ-95", "А-96", "АИ-98" };

   std::string car_brand[] = { "Aurus","LADA","ВОЛГА","ЗИЛ","МОСКВИЧ","ГАЗ","УАЗ","КАМАЗ" };

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

       Car car = { surnames[std::rand()%73],car_brand[std::rand()%8],petrol_marks[std::rand()%9], std::rand()%300+100, std::rand()%100+10, std::rand()%50+10,std::rand()%10+5,std::time(0)+std::rand()*std::rand() };

       car.print();

       cars.push_back(car);

   }

   

   //delete[] surnames;

   //delete[] petrol_marks;

   //delete[] car_brand;

   std::cout << "Введите цену литра бензина ";

   const double price_petrol = getdouble();

   std::cout << "Цена бензина за литр " <<price_petrol<<std::endl;

   std::cout << "Введите цену заливки масла ";

   const double price_oil = getdouble();

   std::cout << "Цена заливки масла " << price_oil << std::endl;

   

   while (true)

   {

       help();

       int choice = 0;

       std::cin >> choice;

       std::string query = "";

       int ch2;

       if (choice < 2 && choice >= 0) {

           

           std::cout << "марка - 0" << std::endl;

           std::cout << "мощность - 1" << std::endl;

           std::cout << "дата техосмотра - 2" << std::endl;

           

           std::cin >> ch2;

       }

       switch (choice) {

       case 0:

           std::cout << "Поиск: ";

           

           std::cin >> query;

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

               switch (ch2)

               {

               case 0:

                   if (cars[i].brand_name_car == query) {

                       cars[i].print();

                   }

                   break;

               case 1:  

                   if (cars[i].power == std::stod(query)) {

                       cars[i].print();

                   }

                   break;

               case 2:  

                   if (cars[i].date_service == std::stol(query)) {

                       cars[i].print();

                   }

                   break;

               }

           }

           break;

       case 1:

           switch (ch2)

           {

           case 0:

               std::sort(cars.begin(), cars.end(), myfunction2);

               refresh(cars);

               break;

           case 1:

               std::sort(cars.begin(), cars.end(), myfunction);

               refresh(cars);

               break;

           case 2:

               std::sort(cars.begin(), cars.end(), myfunction1);

               refresh(cars);

           }

           break;

       case 2:

           refresh(cars);

           break;

       case 3:

           return 0;

           break;

       default:

           help();

           break;

       }

   }

   

}

// Запуск программы: CTRL+F5 или меню "Отладка" > "Запуск без отладки"

// Отладка программы: F5 или меню "Отладка" > "Запустить отладку"

// Советы по началу работы  

//   1. В окне обозревателя решений можно добавлять файлы и управлять ими.

//   2. В окне Team Explorer можно подключиться к системе управления версиями.

//   3. В окне "Выходные данные" можно просматривать выходные данные сборки и другие сообщения.

//   4. В окне "Список ошибок" можно просматривать ошибки.

//   5. Последовательно выберите пункты меню "Проект" > "Добавить новый элемент", чтобы создать файлы кода, или "Проект" > "Добавить существующий элемент", чтобы добавить в проект существующие файлы кода.

//   6. Чтобы снова открыть этот проект позже, выберите пункты меню "Файл" > "Открыть" > "Проект" и выберите SLN-файл.

Car.h

#pragma once

#ifndef CAR_H

#define CAR_H

#include <iomanip>  

struct Car

{

std::string surname;

std::string brand_name_car;

std::string mark_petrol;

double power;

double volume_tank;

double balance_petrol;

double volume_oil;

time_t date_service;

public: void print() {

using namespace std;

struct tm* local;

local = localtime(&date_service);

 cout << left<< setw(15)<< surname << setw(10) << brand_name_car << setw(10) << mark_petrol << setw(10) << power<< setw(10) <<volume_tank << setw(10) << balance_petrol << setw(10) << volume_oil<< setw(10) << asctime(local) << std::endl;

}

};

#endif

4,4(16 оценок)
Открыть все ответы
Ответ:
LilLora
LilLora
27.08.2022

1. b = 10

2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.

3.

нц

пока снизу свободно

вниз

кц

нц

пока не снизу свободно

закрасить

вправо

кц

нц

пока снизу свободно

вправо

кц

нц

пока не снизу свободно

закрасить

вправо

кц

вниз

влево

нц

пока не сверху свободно

закрасить

влево

кц

нц

пока сверху свободно

влево

кц

нц

пока не сверху свободно

закрасить

влево

кц

Объяснение:

1. Рассмотрим последовательность номеров команд 11112.

4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:

(6+4b)*2 = 92

6+4b = 46

4b = 40

b = 10

4,8(29 оценок)
Ответ:
tamirisis7sk
tamirisis7sk
27.08.2022

1. b = 10

2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.

3.

нц

пока снизу свободно

вниз

кц

нц

пока не снизу свободно

закрасить

вправо

кц

нц

пока снизу свободно

вправо

кц

нц

пока не снизу свободно

закрасить

вправо

кц

вниз

влево

нц

пока не сверху свободно

закрасить

влево

кц

нц

пока сверху свободно

влево

кц

нц

пока не сверху свободно

закрасить

влево

кц

Объяснение:

1. Рассмотрим последовательность номеров команд 11112.

4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:

(6+4b)*2 = 92

6+4b = 46

4b = 40

b = 10

4,6(60 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ