Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Создать линейный список "Анкета" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна программа, которая печатает последние n рядов которые вводятся. http://www.cyberforum.ru/cpp-beginners/thread121272.html
Нужна програма которая печатает носледние n рядов которые вводяться.
C++ степень чисел Надо ввести число от 0 до 10. Вывести таблицу чисел от 0 до введённого значения и степень этих чисел от 0 до 5. Использовать функцию pow(x,i) и оператор цикла do - while. Вроде надо сделать... http://www.cyberforum.ru/cpp-beginners/thread121257.html
Разработать проэкт управления телефоном C++
Разработать проэкт управления телефоном (ООП С++) Добавлено через 58 секунд если чесно то ващэ без понятия как ето делать:(посоветуйте да подскаажыте хоть чтото
C++ Memory Address
Привет всем! Нужна помощ 1) как прочесть value адреса и вписать его в Edit1 ?? 2) как из процесса вызвать адрес (не вписать (WriteMemoryAddress) a вызвать в программе с помощю FindWindow)?? ...
C++ Виртуальные функции после чтения объектов http://www.cyberforum.ru/cpp-beginners/thread121229.html
есть два класса, базовый и дочерний. Используются виртуальные функции. Записываю объекты классов в файл, и после чтения виртуальные функции не работают. Хотя до этого было все в порядке, в чем...
C++ Разработать функцию Разработать функцию Integr(A,B,N), интегрирующую полином степени N, заданный коэффициентами в массиве А и помещающую коэффици- енты полинома B(x) = Z A(x) dx в массив B. Функция, не должна... подробнее

Показать сообщение отдельно
Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
25.04.2010, 15:12
ааа. я сразу не догнал, я так понял: сколько женщин моложе 30 лет, имеющих начальное образование ответили НЕТ на вопрос анкеты? в этом трудность да? что бы их посчитать надо использовать примерно такую функцию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// функция возвращает количество записей, удовлетворяющих определенному условию
int count(Man*node)
{
   if(node)
   {
       if (man.age < 30 and man.pol==Rus("женский") and man.obroz==Rus("начальное") and man.otvet==Rus("нет"))
            return 1 + count(node->next);
       else return count(node->next);
   }
   else return 0;
}
// использование
cout << count(beg) << '\n'; // типа того
идея такая: количество таких человек = если текущая структура подходит: 1 + количество таких человек в остальном списке, если текущая структура не подходит: просто количество таких человек в остальном списке.

алгоритм прост: проходим по списку, проверяя поля каждой структуры. ели поля нам подходят то прибавляем к возвращаемому значению 1, если не полдхотдят то ничего не прибавляем, и конечно же достигнув конца списка надо вернуть 0, ибо в пустом списке искомых человек в любом случае ноль.

моя функция врядле заработает в твоей проге, тебе придется немного подправить её синтаксис, но смысл правильный.

если работать не будет то надо добавить к структуре конструктор или просто в прогие прописать чтобы поле next по умолчанию инициализировалось нулем.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru