структуры в с++

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Respected
Сообщения: 15
Зарегистрирован: 08 мар 2013, 07:09

Имеется список людей (n - человек), среди которых есть мужчины и женщины, хранятся следующие данные: фамилия, имя, пол (true - мужской, false - женский), рост.
Опишите функцию Lower(G), определяющую фамилию и имя самого высокого мужчины из списка.

я тут кое что начал, но как сделать дальше я не знаю)

Код: Выделить всё

#include <iostream>
#include <Windows.h>
using namespace std;

struct G //Структура 
{
    char name[35]; //Имя 
	char fam[35]; // фамилия
    int rost; // рост
	char pol; // пол
    
};

int main()
{
	G mas[100];  // массив структуры
	SetConsoleCP(1251);
	SetConsoleOutputCP(1251);
	int N;
	cout << "кол-во людей: ";
	cin >> N;
	for(int i=0; i<N; i++)
	{
		cout << endl;
		cout << "Фамилия: ";
		cin >> mas[i].fam;
		cout << "Имя: ";
		cin >> mas[i].name;
		cout << "Пол (m/w): "; 
		cin >> mas[i].pol;
		cout << "Рост: ";
		cin >> mas[i].rost;
	}
	cout << endl;
	system("cls");
	for(int i=0; i<N; i++)
		cout << "--- " << mas[i].fam << " " << mas[i].name << "-----"
		<< "-----Рост "<< mas[i].rost << " см-----" << endl;
	int answer = 'm'; // m - man
	for(int i=0; i<N; i++)
	{
		if(answer == mas[i].pol)
		{
			cout << endl << "Мужчины: " << mas[i].fam << " " << mas[i].name << endl;	
		}	
	}
	
	cin.get();
}
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Завести переменную, в которой будет храниться номер самого высокого мужчины. Дадим ей имя, скажем, maxIndex. Сначала установить её в -1. Затем пробежать в цикле массив и сделать проверку для каждого G следующее. Если если пол - мужчина, то тогда нужно проверить maxIndex. Если переменная -1, то сразу ей присваиваем текущий индекс. Если же переменная не -1, то сравниваем рост текущего человека с ростом человека с номером maxIndex и обновляем нашу переменную только в том случае, если текущий человек выше. После цикла нужно проверить maxIndex. Если она -1, значит среди людей вообще нет мужчин. Если не -1, то она хранит индекс правильного человека. По этому индексу можно получить все его поля и вывести.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить