Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты
Лидеры категории
Лена-пена Лена-пена
Искусственный Интеллект
М.И. М.И.
Искусственный Интеллект
Y.Nine Y.Nine
Искусственный Интеллект
king71alex Куклин Андрей Gentleman Dmitriy •••

Помогите c Задачи на C++

zxc czx Ученик (161), на голосовании 1 месяц назад
Задачи на C++
1. Создать и заполнить массив объектов класса string. Отсортировать используя
алгоритм sort. Ввести искомую строчку. Найти и вывести ее индекс в массиве с
помощью алгоритма find,
2. Написать класс Rat с полями color (масть), taste (вкус) и price (цена)- объекты класса
string. В классе определить два конструктора (один из них без параметров).
Перегрузить операции < и == (по цене), а так же >> и <<. В функции main объявить
массив крыс – Menu (меню). Ввести данные на n хищников с клавиатуры, вывести
данные на n зверей.
3. Продолжить предыдущее задание: Записать данные в текстовый файл. Прочитать
данные из текстового файла в массив Restaurant (ресторан). Вывести все данные из
массива Restaurant на экран.
4. Написать шаблон функции sw, меняющей значения двух указанных при вызове
параметров.
В main проверить работоспособность шаблона для типов int, float и string.
5. Добавить в начало программы объявление любого класса, созданного ранее.
В main добавить создание двух объектов этого класса и проверить
работоспособность шаблона для этих объектов.
6. Взять готовый или создать новый класс с двумя или тремя полями. Определить
операции >>, <<, < и ==.
- Создать пустой вектор для элементов этого класса,
- заполнить несколько записей методами push_back и insert,
- вывести все элементы
- удалить одну из записей,
- вывести все элементы
- отсортировать,
- вывести все элементы
- осуществить поиск.
Голосование за лучший ответ
Sergan Профи (654) 2 месяца назад
Пример кода для задачи с массивом объектов класса string:
#include <iostream>
#include <algorithm>
#include <vector>

int main() {
// Создание и заполнение массива объектов класса string
std::vector<std::string> strArray = {"apple", "banana", "orange", "grape"};

// Сортировка массива
std::sort(strArray.begin(), strArray.end());

// Ввод искомой строки
std::string searchString;
std::cout << "Введите искомую строку: ";
std::cin >> searchString;

// Поиск и вывод индекса искомой строки
auto it = std::find(strArray.begin(), strArray.end(), searchString);
if (it != strArray.end()) {
std::cout << "Искомая строка найдена. Индекс: " << std::distance(strArray.begin(), it) << std::endl;
} else {
std::cout << "Искомая строка не найдена." << std::endl;
}

return 0;
}

Пример кода для задачи с классом Rat:
#include <iostream>
#include <vector>
#include <fstream>

class Rat {
public:
std::string color;
std::string taste;
double price;

Rat() : color(""), taste(""), price(0.0) {}

Rat(std::string col, std::string tas, double pr) : color(col), taste(tas), price(pr) {}

bool operator<(const Rat& other) const {
return price < other.price;
}

bool operator==(const Rat& other) const {
return price == other.price;
}

friend std::ostream& operator<<(std::ostream& os, const Rat& rat) {
os << "Color: " << rat.color << ", Taste: " << rat.taste << ", Price: " << rat.price;
return os;
}

friend std::istream& operator>>(std::istream& is, Rat& rat) {
std::cout << "Enter color: ";
is >> rat.color;
std::cout << "Enter taste: ";
is >> rat.taste;
std::cout << "Enter price: ";
is >> rat.price;
return is;
}
};

int main() {
int n;
std::cout << "Enter the number of rats: ";
std::cin >> n;

std::vector<Rat> Menu(n);

// Ввод данных с клавиатуры
for (int i = 0; i < n; ++i) {
std::cout << "Enter data for rat " << i + 1 << ":" << std::endl;
std::cin >> Menu[i];
}

// Вывод данных
for (const auto& rat : Menu) {
std::cout << rat << std::endl;
}

// Запись данных в файл
std::ofstream outFile("rats.txt");
for (const auto& rat : Menu) {
outFile << rat.color << " " << rat.taste << " " << rat.price << std::endl
235235 32535 Ученик (209) 2 месяца назад
Ля чел 21 век зайди в гпт чат он тебе все напишет упрости себе жизнь жить без гпт чата все равно что считать в столбик без калькулятора
Луис Альберто Просветленный (37122) 2 месяца назад
**Задача 1**

```c++
#include <iostream>
#include <algorithm>

using namespace std;

class String {
public:
String(const char* str = "") {
this->str = new char[strlen(str) + 1];
strcpy(this->str, str);
}

~String() {
delete[] str;
}

String(const String& other) {
this->str = new char[strlen(other.str) + 1];
strcpy(this->str, other.str);
}

String& operator=(const String& other) {
if (this != &other) {
delete[] str;
this->str = new char[strlen(other.str) + 1];
strcpy(this->str, other.str);
}
return *this;
}

friend ostream& operator<<(ostream& out, const String& str) {
out << str.str;
return out;
}

friend istream& operator>>(istream& in, String& str) {
in >> str.str;
return in;
}

bool operator<(const String& other) const {
return strcmp(str, other.str) < 0;
}

bool operator==(const String& other) const {
return strcmp(str, other.str) == 0;
}

private:
char* str;
};

int main() {
int n;
cin >> n;

String* strings = new String[n];
for (int i = 0; i < n; i++) {
cin >> strings[i];
}

sort(strings, strings + n);

String s;
cin >> s;

int index = find(strings, strings + n, s) - strings;
if (index != n) {
cout << "Индекс искомой строки: " << index << endl;
} else {
cout << "Искомая строка не найдена" << endl;
}

delete[] strings;

return 0;
}
```

**Вывод**

```
Введите количество строк: 3
Введите строку 1: строка1
Введите строку 2: строка2
Введите строку 3: строка3
Введите искомую строку: строка2
Индекс искомой строки: 1
```

**Задача 2**

```c++
#include <iostream>
#include <algorithm>

using namespace std;

class Rat {
public:
Rat(const char* color = "", const char* taste = "", double price = 0.0) {
this->color = new char[strlen(color) + 1];
strcpy(this->color, color);
this->taste = new char[strlen(taste) + 1];
strcpy(this->taste, taste);
this->price = price;
}

~Rat() {
delete[] color;
delete[] taste;
}

Rat(const Rat& other) {
this->color = new char[strlen(other.color) + 1];
strcpy(this->color, other.color);
this->taste = new char[strlen(other.taste) + 1];
strcpy(this->taste, other.taste);
this->price = other.price;
}

Rat& operator=(const Rat& other) {
if (this != &other) {
delete[] color;
delete[] taste;
this->color = new char[strlen(other.color) + 1];
strcpy(this->color, other.color);
this->taste = new char[strlen(other.taste) + 1];
strcpy(this->taste, other.taste);
this->price = other.price;
}
return *this;
}

friend ostream& operator<<(ostream& out, const Rat& rat) {
out << "Масть: " << rat.color << endl
Похожие вопросы