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

как посчитать кол-во человек по нескольким признакам - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переведите прогамму с паскаля на c++ http://www.cyberforum.ru/cpp-beginners/thread771094.html
program lnert; uses crt; cоnst h=0.2; var y,x:real; begin x:=-3; repeat y:=(sin(x*2))+6; x:=x+h; write('При x=', x:3:4); writeln(' y=', y:3:4); until (x>3);
C++ Класс Money Создать класс Money, разработав следующие элементы класса: Поля: int first;/ / номинал купюры int second; / / количество купюр Конструктор, позволяющий создать экземпляр класса с заданными значениям полей. Методы, позволяющие: вывести номинал и количество купюр; определить, хватит ли денежных средств на покупку товара на сумму N гривны. определить, сколько шт товара стоимости n... http://www.cyberforum.ru/cpp-beginners/thread771093.html
C++ Компиляция
Всем привет! Возникла такая проблема. Когда с помощью командной строки компилируешь программу без оптимизации, она работает. Но когда пишешь с оптимизацией, то программа не работает вообще. Кто-нибудь знает, из-за чего такое может быть? Код здесь: #include<cstdio> #include<iostream> #include<string> #include<vector> #include<cmath> using namespace std; int n;
printf C++
printf("%I64i", x) Не подскажете как в cout так вывести?
C++ Эквалайзер компьютера http://www.cyberforum.ru/cpp-beginners/thread771079.html
Дорогие форумчане, срочно нужна программа-эквалайзер, которая считывает звук со всех открытых программ в виндоус, будь это winapm или браузер. Может кто помочь кодом? ОС - windows 7,8; среда - Visual Studio. Ну ооочень нужно=) Заранее спасибо=)
C++ Как обьявить глобальную переменную Как объявить глобальную переменную Есть несколько *CPP* и *.h* файлы. Надо объявить переменную HWND hwnd чтобы она была доступна в каждом CPP файле кода. Но как это сделать уже не вспомню - подскажите...:( Добавлено через 1 минуту подробнее

Показать сообщение отдельно
DU
1477 / 1053 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.01.2013, 23:25     как посчитать кол-во человек по нескольким признакам
count я передавал, чтобы не выйти за пределы массива. у вас же он не нужен, типа все написано так, что не выйдет за пределы. поэтому код такой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
просто указатель на count
int koli4estvo(elist *beg,count* cnt)
{
//муж - 0, жен - 1
float s=0;                  //м - муж, f - жен, s - общее кол-во
//float procm=0,procf=0;        //procm - муж, procf - жен процент
 for (int i=0;i<10;i++)
  {
    cnt[i].m=0;
    cnt[i].f=0;
    cnt[i].procm=0;
        cnt[i].procf=0;
  }
 p=beg;
 while(p)
  {
   switch (p->data.nomer_ceha)
    {
    case 1:  if(p->data.sex) cnt[1].f++; else cnt[1].m++; break;
    case 2:  if(p->data.sex) cnt[2].f++; else cnt[2].m++; break;
    case 3:  if(p->data.sex) cnt[3].f++; else cnt[3].m++; break;
    case 4:  if(p->data.sex) cnt[4].f++; else cnt[4].m++; break;
    case 5:  if(p->data.sex) cnt[5].f++; else cnt[5].m++; break;
    case 6:  if(p->data.sex) cnt[6].f++; else cnt[6].m++; break;
    case 7:  if(p->data.sex) cnt[7].f++; else cnt[7].m++; break;
    case 8:  if(p->data.sex) cnt[8].f++; else cnt[8].m++; break;
    case 9:  if(p->data.sex) cnt[9].f++; else cnt[9].m++; break;
    case 10: if(p->data.sex) cnt[10].f++; else cnt[10].m++; break;
    }
   s++;                 //общее количество работников
   p=p->right;
  }
   for (int i=1;i<10;i++)
   {
   cnt[i].procm=cnt[i].m/s*100;         //процент мужчин 1 цеха
   cnt[i].procf=100-cnt[i].procm;
   }
  return 0;
}
 
 
в основной программе как-то так:
count cnt[10];
elist* lst = ...
...
int kol = koli4estvo(lst , cnt);
Если это не работает, то пишите сюда свою функцию
koli4estvo(lst , cnt);
и как объявлен массив cnt
и полностью тексты ошибок


А еще стоит задуматься, почему вы пишете на чем-то борландовсом. этой штуке лет 20 наверно. даже Windows 95 моложе.
 
Текущее время: 15:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru