Уроки C++ с нуля / Урок #12 - Структуры
HTML-код
- Опубликовано: 2 авг 2016
- В этом уроке изучим структуры в языке C++. Структуры struct очень похожи на классы, которые мы будем изучать немного позже.
✔ Основной сайт: itproger.com/
✔ -------------
Вступай в группу Вк - prog_life
Группа FaceBook - goo.gl/XW0aaP
Instagram: / gosha_dudar
Telegram: t.me/itProger_official
Страничка Twitter - / goshadudar
- Уроки от #GoshaDudar 👨🏼💻
- Все уроки по хештегу #GoshaCpp
Гоша Спасибо тебе реально!!! Ты классный учитель
+
он просто читает статью-книгу
@@BakusPLAY007 Зато он разжевывает и даёт всё это в понятном виде.
Спасибо огромное,очень доступным языком все рассказано:)
Отличный урок, супер, доступно, понятно, доходчиво! СПАСИБО!
Самые понятные уроки у тебя! Спасибо.
მადლობა. ძალიან მაგარი ახსნილია.
Spasiba balshoi ochen xaroshi urok 100% ni.
Индум
Спасибо за понятное объяснение темы)
очень понятно, в голове укладывается информация и общая картина
В шоке с этих программистов :). "Делаем точно также только по другому". А так хорошие видео получаются.
спасибо за уроки! как по с++ так и юнити!
Спасибо за видос. Очень помог!
*Очень полезно! Спасибо большое*
Спасибо огромное, домашнее задание очень полезно!
Во многих случаях после объявления структур объявляются указатели на них, и обращение к элементам структуры происходит не через точку, а через стрелку. Сами же структуры и массивы структур в этих случаях обычно порождаются операторами new и убиваются операторами delete.
спасибо, очень помогло!
Спасибо!!! помогли!!
Не знаю кто что там говорил про Гошу Дударя, но он объясняет лучше других!
Да видос классный! лайк бахнул
Дякую за відео
Обожаю
очень крутое обьяснение
10:20 прям уровень of my English
Ура! домашка!
Если ты так крикнешь после урока в школе тебе конец
И от отличников тоже
Ничеси, машина создана в 1999, а скорость ее максимальная 315 км/ч :)
ну так этож не наш автопром xD
1927 году до 328 км/час разгонялись
Самолёты?
быстрая шкода)))
@@OnlyDing0 мотоблоки
спасибо
было бы неплохо показать вариант с циклом. поскольку в более реальных примерах, данные вводятся через клавиатура или с файла...
NICE!!!
Про бинарные деревья расскажешь?
Вышка вообще найс!! Тут урок краток и полезен, я начинаю любить с++
Видно что эта тема тебе ближе, ты её жизненей рассказваешь, применяешь небось очень часто в обиходе, в играх так ваще нужная вещь
Всем стало понятно, что у тебя машина марки Шкода) Или ауди =))
может позволить)
заработал же)
Ну будь у него Шкода, он бы знал, как пишется Шкода)
@@FilthyGoose Марка Шкода пишется так: Škoda. Но я могу его понять - не станет же он лезть в таблицу символов из-за какой-то буквы.
@@user-np1rh6tn5y в таких случаях пишут без диакритики: Skoda
Понял что Структура настолько крутая штуковина что можно даже
Auto velosipedazazazaz;
и присобачить к велосипеду хоть 20 колёс и космическую скорость.
У меня файл source.cpp созданный в visual studio при открытии в Xcode кирилицу открывает кряказяброй. Юникод в норме. В чем проблема?
Класс
Гоша - молодец!
не подскажите как закинуть год из другой структуры в Auto audi(из данного видео урока)?
Спасибо вам за уроки! Всё доходчиво объясняете. Как всегда на высоте!
Кстати у меня есть небольшое видео про свою игру "Run for the Gold". Если понравится выпущу видео как буду создавать лабиринт!
Гоша, видел? Ты в tproger(сообщество вк с ~ 300к подписчиков), в точнее твои уроки по #
Да, точно :) Но они уже не в первый раз меня там выставляют, это как минимум уже 3 раз :)
+Гоша Дударь )
+Гоша Дударь кстати спасибо, большенство того, что ты снимаешь я видел, но между делом включаю видео, слушаю и удается подчеркнуть для себя новое. Спасибо за видео !
Гоша, можешь помочь.Как в структуру записать строку с клавиатуры с пробелами в Visual Studio 2017?
Ну ручками. Как ещё писать.
оо я пока смотрел у меня такой мощный вопрос встал, о возможности и способах сериализации структур. Вроде бы их можно толкать через сокеты (читал исходники nginx) но очень интересно прям стало есть ли какие то рантайм методы с помощью которых можно было бы перечислить элементы экземпляра объекта(структуры) и запихать их на пример в JSON. подозреваю, что может существовать, что то типа for ( prop in object) { ... } но я хз я только учусь )))
Для тех, кто не понял, чем отличается структура от класса. В классах можно создать не только атрибуты, но и методы. В структуре вы, как бы создаёте свой тип данных со своими атрибутами. Простите, если объяснил непонятным языком)
Позвольте вас поправить. В С++ класс и структура практически идентичны, за одним исключением - секция по умолчанию в структуре считается как public, а в классе - как private. А так, в структуру запросто можно добавить свои методы, операторы и строить иерархии структур. Однако, опытные программисты рекомендуют использовать структуры только для простых типов данных, а всё более-менее сложное размещать в классах. Хотите узнать об этом больше - заходите ко мне!
А что значит строчка в скобках после int main, подскажите пожалйста
Скажите пожалуйста, в чём у меня ошибка? Задача из универа, визуал студиа корректно решает задачку, но препод говорит, что-то не правильно. Определите пользовательскую структуру данных, которая будет хранит цену, т.е. в структуре будет два поля: rubles и kopecks. Затем напишите функцию на языке программирования С++, которая будет возвращать сумму двух аргументов, имеющих тип определенной выше структуры.
#include
#include
using namespace std;
struct cena
{
int ruble;
int kopeck;
};
void funk1 (int x, int y, int z, int p)
{
setlocale(LC_CTYPE, "Russian");
int n=x+y;
int e=z+p;
if(e>=100)
{
n++;
e=e-100;
}
cout
Доброго времени суток. При первой попытке вывода результата, ошибка - требуется определение или имя тэга. Использую Microsoft Visual Studio Community. 16.4.1. Подскажи как победить?) Подчеркивает auto в строке struct auto;
Победил, заменив auto на tachka
Я только сегодня узнал, что можно описать структуру таким образом:
struct students {
char surname[32];
int number;
bool sex;
void output(FILE *fout) {
if (ftell(fout)) fputs("-------------------
", fout);
fprintf(fout, "Surname: %s
Number: %d
Sex: %s
", surname, number, sex ? "Female" : "Male");
}
void setname(const char s[]) {
strncpy(surname, s, 32);
}
};
P.S. Насколько же я стар, что только сегодня узнал, что методы тоже можно определить в структуре.
Если синий то "g".
Тем временем blue: Я ВАМ ЧТО ШУТКА КАКОЙ НАХЕР КЛЕЙ(glue)?
Когда ты создаёшь машину в структуре с двумя колёсами и осознаёшь, что это мотоцикл
А это не одно и тоже как атрибуты в html?
Одна из немногих домашек, которые я сделал )))
#include
using namespace std;
struct three{
int visota,shirina;
float listja,vozrast;
};
int main(int argc, char** argv) {
three Dub;
Dub.visota = 20;
Dub.shirina = 5;
Dub.listja = 2032.12;
Dub.vozrast = 70.4;
cout
Продался шкоде ))
struct Tree {
float height;
float width;
char *name;
int year;
};
int main() {
setlocale(LC_CTYPE, "rus");
int a;
Tree Birch;
Birch.height = 6.3;
Birch.width = 29.51;
Birch.name="Берёза";
Birch.year = 13;
Tree Ash;
Ash.height = 15.1;
Ash.width = 75;
Ash.name = "Ясень";
Ash.year = 34;
Tree Larch;
Larch.height = 4;
Larch.width = 13.6;
Larch.name = "Лиственница";
Larch.year = 15;
Tree Oak;
Oak.height = 8.62;
Oak.width = 84.15;
Oak.name = "Дуб";
Oak.year = 33;
cout
подписчик PrO S рекурсия. Main вызвала сама себя и всё повторилось.
а почему мы пишем *name? *name это что вообще? динамический массив символов?
динамический массив
чето не работает нихуя
И тут гдз
Можно ли создать структуру, чтобы ее компонентами были строки символов?
можно, параметры структур могут быть массивами и матрицами.
|error: expected primary-expression before '.' token|
строка : cout
какой стандарт c++ нужео использовать?
Я рекомендую использовать "старую" версию С++, и не использовать большую часть из новых стандартов (С++11, С++17). Например, гугл в своём код-стайле использует максимум С++11. Заходи ко мне, и ты узнаешь ПОЧЕМУ лучше не использовать сложные нововведения в языке.
#include "stdafx.h"
#include
#include
using namespace std;
struct wood
{
float height;
float width;
int year;
string name;
};
int main()
{
int a;
setlocale(LC_ALL, "rus");
wood dub = {7, 50, 150, "Дуб"};
wood lipa = {4, 20, 60, "Липа"};
wood ber = {5, 10, 100, "Береза"};
wood el = {10, 60, 300, "Ель"};
cout > a;
switch(a){
case 1:
{
cout
А почему в строчке:
shkoda.color = 'r';
Нужно вводить только одну букву, то есть нельзя например ввести вместо r слово red
BATman char это один символ, если надо написать слово, создавай массив символов или используй строку
Спасибо
не нужно создавать массив символов просто пишешь: string color;
а потом когда оформляешь пишешь в двойных кавычках , ну вот типо эттого club chelsi={11,"red", 165}; и все выведется
создал курсы валют на дату 18.08.2017(если неправильно извините).
#include
#include
#include
#include
#include "stdio.h"
#include
#include
using namespace std;
// курсы валют с помощью структуры
struct course {
float grivna;
float dollar;
float czeck_krone;
float rouble;
};
int main(int argc, char *argv[])
{
course rouble;
rouble.grivna = 2.4;
rouble.dollar = 60.013;
rouble.czeck_krone = 2.7;
rouble.rouble = 1;
course dollar = {0.04, 0.04, 0,02};
course grivna = {25.5, 1.08, 0,4};
course czeck_krone = {0.92, 22.2, 0,37};
int currency;
cout currency;
if (currency == 1) {
cout
почему у тебя в структуре то 3 то 4 переменных? мне кажется это не совсем верно
синий - g))
А как добавить в структуру строки? char только для одного символа!
Владимир Дракула это жуть даже массив туда не лезет какого-то, использовал просто строки типа string name
char[ ] (в скобках любое число символов)
количество листьев? Удивило больше, чем скорость машины из 1999, хахах, но спасибо за урок
xD я тоже заметил
сколько шкода заплатила тебе за эту рекламу?
Судя по всему ОЧЕНЬ много,раз шкода 1999 года выпуска гоняет со скоростью 315 км/ч
Структура - колесо, машина - класс
8 минута уже 3 ролик рекламы а так в целом классно
#include
#include
#include
using namespace std;
//структура
struct Tree
{
int year;//vozrast
float vysota;
float shirina;
string name;
};
int main()
{
setlocale(LC_CTYPE, "rus");
Tree dub = {1990,25,40,"sana"};
Tree clen;
Tree bereza;
bereza.name = "salamandra";
bereza.shirina = 23.43;
bereza.vysota = 123.34;
bereza.year = 1970;
Tree elka = {1850,23.53,45,"slam"};
cout > clen.year;
cout
02:30 создали спид
Уот мое ДЗ ))
Тип данных однотипный, но тут не в этом же суть, верно?)
#include
using namespace std;
struct Options{
int year;
float leaves;
float height;
};
struct Date {
int year;
float leaves;
float height;
Options Oak;
};
struct Auto {
int year;
float leaves;
float height;
Date Palm;
};
int main(int argc, const char * argv[]) {
Auto Oak = { 154, 43567, 32.34 };
Auto Palm = { 67, 24324, 27.3, };
Auto Birch = { 48, 83294, 35.4 };
cout
Бедный cout.
Ключевым словом struct создают структуры данных в языке Си, а слово class создаёт тоже самое, только в С++. "Учитэл")))
Спасибо за урок!Домашка:
#include
#include
using namespace std;
struct tree{
float height;
float width;
int quantity_of_leaves;
};
int main()
{
setlocale(LC_ALL, "rus");
tree oak;
oak.height = 5.12;
oak.width = 1.5;
oak.quantity_of_leaves = 5000;
tree akacia = {5.1, 1, 2500};
tree birch = {4.5, 0.7, 4000};
cout
А что это программа для чего она помогает найти ширину длину дуба?
А что насчёт имени дерева? В видео автор объяснил как ввести переменную символа в структуру ( на примере красного цвета r), но не строки. Есть идеи?
Вот дз:
// Search question and answer system
#include
#include
using namespace std;
struct tree {
int vozrast;
float visota;
float ohvat;
};
int main()
{
tree dub;
dub.vozrast=156;
dub.visota=27;
dub.ohvat=1;
tree bereza;
bereza.vozrast=16;
bereza.visota=4.2;
bereza.ohvat=0.15;
tree sosna;
sosna.vozrast=54;
sosna.visota=14.7;
sosna.ohvat=0.64;
cout
Выложу сюда для галочки, шоб было.
#include "stdafx.h"
#include
#include
#include
#include
#include
#include
using namespace std;
struct tree {
int age;
float weight;
string name;
float height;
};
int main(int argc, const char * argv[])
{
setlocale(LC_ALL, "rus");
tree dub;
dub.age = 134;
dub.height = 45;
dub.name = "Владимир";
dub.weight = 3;
tree bereza;
bereza.age = 15;
bereza.height = 4;
bereza.name = "Белоснежка";
bereza.weight = 0.56;
tree klen;
klen.age = 34;
klen.height = 12;
klen.name = "Добрыня";
klen.weight = 2;
tree iva;
iva.age = 17;
iva.height = 7;
iva.name = "Мудрёная";
iva.weight = 1.25;
int num;
cout
struct PRICE {
PRICE operator=(PRICE &price)
{
strcpy_s(this->tovar, price.tovar);
strcpy_s(this->magazin, price.magazin);
this->stoimost = price.stoimost;
return *this;
}
char tovar[64];
char magazin[64];
int stoimost;
};
увидел такой пример структуры и не понял
PRICE operator=(PRICE &price)
{
strcpy_s(this->tovar, price.tovar);
strcpy_s(this->magazin, price.magazin);
this->stoimost = price.stoimost;
return *this;
} вот эту структуру
можете объяснить
О нет, продался, реклама шкоды 0_0
есил бы он правильно фирму написал)
Очень похоже на объекты JavaScript
Это js похож на c++, а не наоборот
Привет Гоша, пишу с 2к19))))
Было не лишнем показать struct + typedef и с указателями
Пример:
typedef struct name
{
std::string names;
int age;
}n;
int main()
{
typedef strcut name;
n *document;
document->names = "names";
document->age = 13;
}
Тут могут быть ошибки так как я давно не юзал....
СОРРИ ЗА НИК xD
А почему у меня на name and color выдалось только первая и последняя буква?
struct Teck{
int width;
int height;
float date;
char color;
char name;
};
struct Medate{
int age;
float growth;
char name;
};
int main(int argc, const char * argv[]) { //писать обязательно
Teck Dub;
Dub.width = 2000;
Dub.height = 1000000;
Dub.date = 19.99;
Dub.color = 'red';
Dub.name = 'aca';
cout
я не знаток, но во второй структуре тебе не надо указывать тип данных переменной из первой, то есть в struct Medate у тебя должно быть не char name; , а что-то типа Teck identif; В дальнейшем будешь обращаться к нейму вот так Medate.identif.name... как-то так
а, ну и тип переменных ЧАР - это символ, символ - одна буква, а ты пишешь слова. И слова пишутся в двойных ковычках "Вот так", а символы в одерных 'В'
ky
#include
#include
#include
using namespace std;
struct Name {
string name;
};
struct Age {
int age;
};
struct Tree {
int height;
int weight;
Age vozrast;
Name name;
};
int main()
{
setlocale(LC_ALL, "RUS");
int a, b, c;
string d;
cout > a;
cout > b;
cout > c;
cout > d;
Tree one;
one = { a, b, c, d, };
cout
#include
using namespace std;
struct tree {
float height;
float width;
};
int main()
{
tree bereza;
bereza.height = 20;
bereza breadth = 1;
cout
Не знаю актуально ещё или нет но ты объявляешь переменную типа float с именем width а потом уже обращаешься к записи в структуру переменной с именем breadth
Вот мое ДЗ:
#include "stdafx.h"
#include
using namespace std;
struct soldier {
float strength = 100;
float education = 100;
float speed = 1-99;
};
int main(int argc, const char * argv[])
{
soldier Max;
Max.education = 100;
Max.speed = 100;
Max.strength = 100;
cout
синий - это b
#include
#include
using namespace std;
struct tree
{
float high;
float width;
string name;
int age;
};
tree ar_tree[4];
void imput()
{
cout > i;
i -= 1;
cout > ar_tree[i].high;
cout > ar_tree[i].width;
cout > ar_tree[i].name;
cout > ar_tree[i].age;
}
void output()
{
for (int i = 0; i < 4; ++i)
{
cout
#include
using namespace std;
struct Auto{
int wheels;
float speed;
char color;
};
int main()
{
Auto shkoda;
shkoda.color= 'r';
shkoda.speed= 314.23;
shkoda.wheels= 4;
Auto audi={4, 300.23, 'b'};
cout
#include
using namespace std;
struct tree {
double t_height;
double t_width; // высота и ширина деревьев
int t_age; // возраст деревьев
char *t_name; // имя деревьев
};
int main() {
tree tree_1;
tree_1.t_height = 20.54;
tree_1.t_width = 2.4;
tree_1.t_age = 200;
tree_1.t_name = "Gosha";
tree tree_2;
tree_2.t_height = 20.5;
tree_2.t_width = 1.3;
tree_2.t_age = 1000;
tree_2.t_name = "Daniel";
tree tree_3;
tree_3.t_height = 20.76;
tree_3.t_width = 2;
tree_3.t_age = 432;
tree_3.t_name = "Beryozka";
tree tree_4;
tree_4.t_height = 54.53;
tree_4.t_width = 4.7;
tree_4.t_age = 134;
tree_4.t_name = "Ananimus";
cout
Result.
Tree 1 height = 20.54
Tree 1 width = 2.4
Tree 1 age = 200
Tree 1 name Gosha
Tree 2 height = 20.5
Tree 2 width = 1.3
Tree 2 age = 1000
Tree 2 name Daniel
Tree 3 height = 20.76
Tree 3 width = 2
Tree 3 age = 432
Tree 3 name Beryozka
Tree 4 height = 54.53
Tree 4 width = 4.7
Tree 4 age = 134
Tree 4 name Ananimus
Press any key to continue . . .
#include
using namespace std;
struct Tree {
int height;
float weight;
char name;
int age;
};
int main() {
system("color b");
char q;
cout q;
Tree firsttree;
firsttree.height = 20;
firsttree.weight = 5.3;
firsttree.name = 'b';
firsttree.age = 40;
Tree secondtree = { 40, 9.7, 'd',50 };
Tree thirdtree = { 7, 2, 'y',3 };
Tree fourthtree = { 54, 12.4, 't',12 };
if (q == 'b') {
cout
#include "stdafx.h"
#include
#include
using namespace std;
struct Tree {
char name;
int yaer;
int vst;
int shir;
};
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Tree One = {'tA',5,100,30 };
Tree Two = {'tB',10,200,60 };
Tree Tre = {'tC',15,300,120 };
Tree For = {'tD',20,500,240 };
cout
Schkoda, так сказатб
ЕЕЕЕ, я смог...
#include
#include
#include
using namespace std;
struct Tree {
int year;
float height;
float weight;
};
int main()
{
setlocale(LC_CTYPE,"rus");
Tree one;
one.year = 3;
one.height = 8.38;
one.weight = 2.01;
Tree two;
two.year = 8;
two.height = 13.23;
two.weight = 3.34;
Tree three;
three.year = 1;
three.height = 3.00;
three.weight = 0.90;
Tree four;
four.year = 10;
four.height = 15.29;
four.weight = 5.25;
// Height
cout « "Высота дерева №1 =" « one.height « "
" « "Высота дерева №2 =" « two.height « "
" « "Высота дерева №3 =" « three.height « "
" « "Высота дерева №4 =" « four.height « endl;
// Year
cout « "
" « "Возраст дерева №1 =" « one.year « "
" « "Возраст дерева №2 =" « two.year « "
" « "Возраст дерева №3 =" « three.year « "
" « "Возраст дерева №4 =" « four.year « endl;
// Weight
cout « "
" « "Ширина дерева №1 =" « one.weight « "
" « "Ширина дерева №2 =" « two.weight « "
" « "Ширина дерева №3 =" « three.weight « "
" « "Ширина дерева №4 =" « four.weight « endl;
}
братан в какой проге пишеш? название плз
xCode вроде.
Viscle studio (если не получилось то Visle studio или Vicle studio )
Ulirich Zzibo Visual Studio. И она для Windows
#include
#include
using namespace std;
struct Auto {
float the_weight;
float speed;
string color;
int wheels;
};
int main (int argc, const char * argv []) {
Auto SIDAN = {1088,60,"Green",4 };
cout
Skoda
#include
using namespace std;
struct tree{
int height;
int width;
int age;
char country;
};
int main(){
// Oak
tree oak={50,10,700,'U'};
cout
#include
#include
using namespace std;
struct Tree {
float hight;
float width;
char name;
int age;
};
int main()
{
Tree Oak;
Oak.hight = 7.2;
Oak.width = 5.1;
Oak.name = 'd';
Oak.age = 30;
Tree Linden;
Linden.hight = 4;
Linden.width = 1.3;
Linden.name = 'l';
Linden.age = 15;
Tree Birch;
Birch.hight = 10;
Birch.width = 0.5;
Birch.name = 'b';
Birch.age = 4;
Tree Maple;
Maple.hight = 5.2;
Maple.width = 2.3;
Maple.name = 'k';
Maple.age = 3;
cout
Сделал не про деревья, а телефоны)
#include "stdafx.h"
#include
#include
#include
using namespace std;
struct Phone
{
float price;
float stest;
char color;
int year;
};
int main()
{
setlocale(LC_ALL, "Russian");
int very_cost;
Phone Xiaomi;
Xiaomi.price = 15.999;
Xiaomi.stest = 65.867;
Xiaomi.color = 'red';
Xiaomi.year = 2018;
Phone Meizu;
Meizu.price = 7.999;
Meizu.stest = 45.780;
Meizu.color = 'blue';
Meizu.year = 2017;
Phone Iphone{ 29.998,278.450,'grey',2017 };
float arr[3] = { Xiaomi.price, Meizu.price, Iphone.price };
float max = arr[1];
for (int i = 0; i < 3; i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
float min = arr[1];
for (int i = 0; i < 3; i++)
{
if (min > arr[i])
{
min = arr[i];
}
}
cout
А зачем структуры, если есть классы? в чем преимущество структуры перед классом, до этого я изучал только джаву и не вижу вообще, зачем эта структура нужна, лучше сразу использовать класс
Если мне память не изменяет, то все структурные типы и локальные переменные, так же как и адреса возвратов из функций, хранятся в стеке, а ссылочные типы (массивы, экземпляры классов и т.д) хранятся в куче. А обращение к элементам из стека производится гораздо быстрее, чем из кучи. В этом и преймущество. Я не знаю джаву, но допустим в C# в структурах можно создавать методы, конструкторы, реализовывать интерфесы... И хоть есть некоторые ограничения (нельзя наследоваться и т.д), но когда нужно описать что-что не очень большое, это очень круто (хранение в стеке). Ну как-то так...
ты отвечаешь про с++ ,но пишешь про c# :)
Ami00, не, с c# я просто пример привел :) Основное отличие я описал в начале
ну да, основное различие между структурой и классом ты привел в начале, но это справедливо для с#, но не для c++. В с++ ты можешь создать экземпляр структуры в хипе и экземпляр класса на стеке. Как кстати и массив и локальные переменные простых типов можно создать на стеке, а можно и в хипе. программист сам решает где ему что создавать за исключением контейнеров stl, например, std::vector - ты их можешь создать на стеке, но сами элементы контейнера могут быть в хипе. std::string же решает где хранить данные на стеке или в хипе, если мы создали ее на стеке, в зависимости от длины строки: при небольшой длине - он записывает ее в стек, при большей - в хип. И наследоваться от структур можно, короче ты не угадал ни в одном из пунктов, которые привел :)
The
Как передать структуру в функцию?
указываешь в параметрах ф-ции переменную типа нужной структуры:
void Function (Auto shkoda) {
//блок команд;
}
понятно,спасибо
skoda а не shkoda))
#include
#include
using namespace std;
int main(int argc, const char * argv[]) {
struct tree {
float length;
float height;
int age;
string name;
};
tree dub {3.5 , 20 , 28 , "George" };
tree klen {2.2 , 30 , 30 , "Vladimir"};
tree bereza {3 , 10 , 50 , "Klava"};
tree elka {1 , 7 , 100 , "Zoya"};
cout der;
if (der == 'd')
cout
0
Сорі я в танку а шо за програма в якій він програмує
Сразу видно, автор любитель ВАГОВ))
И чем же это удобно? все равно в мейне мы пишем кучу текста типа: shkoda.color = 'r' так почему бы сразу не писать char shkoda_color ='r' ??? п.с. 2:50 если синий то Г (гей)
Преймущиетво в том, что удобней передовать массив структур в другую функцию. Допустим у Вас есть массив структур работников с полями 1)их возраст 2)должность 3)зарплата 4) ФИО. Вам нужно отсортировать их по имени(допустим). Отдельно передовать каждого работника - не удобно и неправильно. Для этого можно просто передать сам массив( а если быть точнее, о указатель на него), и уже напрямую работать с ним.
чет сложно, или пример не особо удачный
Ну вот у Вас есть, допустим массив целых чисел(int). Он заполнен в хаотичном порядке и Вы хотите его отсортировать. Для этого Вам нужно воспользоваться функцией сортировки написаной Вами или воспользоваться библиатечной функцией qsort. Чтоб ими воспользоваться Вам необходимо передать информацию и массиве как параментры в саму функцию. Тоже самое касается структурных массивов. Опять таки, допустим у Вас есть массив структур, элементы которой содержут в себе информацию о работнике: 1)ФИО(массив char'ов) ; 2)возраст(int); 3) Зарплату(int). Этот массив у вас заполнен и Вы хотите, допустим, определить сколько работников получают зарплату свыше 10000 рублей при помощи Вами написаной функции. Для этого Вы в неё передаёте указатель на массив и его кол-во элементов. В функции циклом проходитесь по массиву, сравнивая поле зарплаты текущехо элемента с число 10000. Если сравнение "истина" - добовляете к счётчику(который в начале объявили и инициализировали нулём) + 1 и идёте дальше по массиву; в случае "лошь" просто дальше проходитесь по массиву. Выполняете цикл, до тех пор, пока не пройдётесь по всем сотрудникам. После завершения функции возвращаете счётчик.
P.S. Что б было легче вникнуть, возможно стоит пройтись по темам: массивы, структуры, функии и циклы. На сколько помню, на этом канале есть данные темы в отдельных видео.
10:50
Машина 1999 года выпуска гоняет со скоростью 315 км/ч
....
уже в конце 80-х выпустили ferrari с максималкой 325. К концу 90-х уже 400 практически набирали...
@@reachest834 Ок ясно