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

Определить тип данных структура, имеющий поля фамилия, страна и результаты шести выступлений. Определить массив из 10 структур. В программе ввести в массив данные и вывести на экран список спортсменов по странам. Определить спортсмена занявшие последние место.си++

#include
#include
#include
#include
#include
#include
#include
#include

using namespace std;

struct sports
{
char famil[15];
char strana[15];
int vistup1;
int vistup2;
int vistup3;
int vistup4;
int vistup5;
int vistup6;
}mas[10];

Ответы

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

Ответ:

#include<iostream>

#include<windows.h>  

using namespace std;

 

struct Sponsor

{

char name[32];

char surname[32];

double sum;

};

 

Sponsor* AddStruct(Sponsor* Obj, const int amount);

void setData(Sponsor* Obj, const int amount);

void showData(const Sponsor* Obj, const int amount);

 

int main()

{

setlocale(LC_ALL, "rus");

 

Sponsor* OurSponsors = 0;

int sponsorAmount = 0;

int YesOrNot = 0; //  продолжить или остановить ввод данных

 

do

{

OurSponsors = AddStruct(OurSponsors, sponsorAmount);

setData(OurSponsors, sponsorAmount);

 

sponsorAmount++;

 

cout << "Продолжить ввод данных (1 - да, 0 - нет): ";

cin >> YesOrNot;

cin.get();

} while (YesOrNot != 0);

 

showData(OurSponsors, sponsorAmount);

 

delete[] OurSponsors;

return 0;

}

 

Sponsor* AddStruct(Sponsor* Obj, const int amount)

{

if (amount == 0)

{  

Obj = new Sponsor[amount + 1]; // выделение памяти для первой структуры

}

else

{

Sponsor* tempObj = new Sponsor[amount + 1];

 

for (int i = 0; i < amount; i++)

{

tempObj[i] = Obj[i]; // копируем во временный объект

}

delete [] Obj;

 

Obj = tempObj;  

}  

return Obj;

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

void setData(Sponsor* Obj, const int amount)

{

cout << "Фамилия: ";

cin.getline(Obj[amount].surname, 32);

cout << "Имя: ";

cin.getline(Obj[amount].name, 32);

cout << "Сумма пожертвования: ";

cin >> Obj[amount].sum;

cin.get();  

cout << endl;  

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

void showData(const Sponsor* Obj, const int amount)

{

system("cls");

cout << "№  " << "Фамилия\t" << "Имя\t" << "Сумма\t" << endl;

cout << "========================================" << endl;

for (int i = 0; i < amount; i++)

{  

cout << i + 1 << "  " << Obj[i].surname << '\t' << Obj[i].name << '\t' << Obj[i].sum << endl;

}

}

Объяснение:


Gliin: что это
Gliin: как запустить
Gliin: запустил
Gliin: не так должно работать
Gliin: https://qa-help.ru/questions/opredelit-tip-dannykh-zapis-imeyushhij-polya-familiya-strana-i-rezultaty-shesti-vystrelov
Gliin: например\
Gliin: я отмечу что сделано
Gliin: если
Gliin: https://znanija.com/task/32606738
Похожие вопросы
Предмет: Математика, автор: sugakovanatalia4754
Предмет: Математика, автор: nikitayoutube4372
Предмет: Математика, автор: davlatovobid
Предмет: Информатика, автор: Аноним
Помогите , господа прогеры. Я начинающий в C++. И мне нужна помощь от вас.
Мне надо сделать программу , которая :
1. Надо создать 1 массив. "Ввести размер массива". Потом дать выбор- заполнить вручную массив или рандомно.
Потом также со вторым массивом, но указывать тот же размер массива, какой мы указали в первом. И сделать то же самое , что было в первом массиве.
Сделать это все в мэйне.
2. Создать функцию, в которой будет формула 3 массива. А эта формула такая: "Берем два пред. массива , а затем делаем из них третий , путем "зиг-зага".
3. В Мэйне вызвать ту функцию, чтобы это все выводилось через "cout".
Прошу , помогите ! Очень надо.
Вот мои убогие наработки:
#include
#include
#include
#include
#include
#include

using namespace std;

int f2(int N, int K=0, int A=0)
{
long int *p = new long int[N];
long int *q = new long int[A];
{for (int i = 0; i < N; i++) {
cout << p[i] << " ";
}
}
for (int l = 0; l < K; l++) {
cout << q[l] << " ";
}

return 0;
}
int main() {
setlocale(LC_CTYPE, "Russian");
int N = 0;
int B;
int C = 0;
long int *p = new long int[N];
int K = 0;
int R;
int A = 0;
long int *q = new long int[A];
cout << "Введите размер первого массива :" << endl;
cin >> N;
cout << "Какой способ ввода элементов массива?" << endl;
cout << "Введите (1), если ввод будет с клавиатуры" << endl;
cout << "Введите (2), если ввод будет рандомный." << endl;
cin >> B;
switch (B)
{
case 1:
cout << "Вы выбрали способ с клавиатуры." << endl;
cout << "Введите элементы массива:" << endl;
for (int i = 0; i < N; i++) {
cin >> p[i];
}
for (int i = 0; i < N; i++) {
cout << p[i]<<" ";
}
break;

case 2:
cout << "Вы выбрали рандомный способ." << endl;
for (int i = 0; i < N; i++) {
p[i] = 100 * (int)rand() / RAND_MAX ;
cout << p[i];
}
for (int i = 0; i < N; i++) {
cout << p[i] << " ";

}
break;
}
cout << "Введите размер второго массива :" << endl;
cin >> K;
cout << "Какой способ ввода элементов массива?" << endl;
cout << "Введите (1), если ввод будет с клавиатуры" << endl;
cout << "Введите (2), если ввод будет рандомный." << endl;
cin >> R;
switch (R)
{
case 1:
cout << "Вы выбрали способ с клавиатуры." << endl;
cout << "Введите элементы массива:" << endl;
for (int l = 0; l < K; l++) {
cin >> q[l];
}
for (int l = 0; l < K; l++) {
cout << q[l] << " ";
}
break;

case 2:
cout << "Вы выбрали рандомный способ." << endl;
for (int l = 0; l < K; l++) {
q[l] = 100 * (int)rand() / RAND_MAX;
cout << q[l];
}
for (int l = 0; l < K; l++) {
cout << q[l] << " ";
}
break;
}
f2(N, K, A);
return 0;