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

определить процент - C++

Восстановить пароль Регистрация
 
Redanix
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 13
02.07.2013, 14:06     определить процент #1
Известно количество жителей в городе. Сведения о мужчинах и женщинах поместили в один массив, обозначив женщин единицей а мужчин нулем.Требуется определить процент женщин от общего количества жителей города
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int g[50000000];
int procentg,n,km=0,kg=0,i;
cin>>n;
for (i=0;i<n; i++) cin>>g[i];
    for (i=0;i<n;i++)
    if (g[i]=0)km+g[i];
for (i=0; i<12; i++)
    if (g[i]=1)km+g[i];
    procentg=kg*100/(km+kg);
    cout<<"procentg="<<procentg;
    return 0;
};
Программу я написал.Но она неверно решает задачу, и требует оптимизации.Подскажите пожалуйста, где ошибка, и что можно оптимизировать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 14:06     определить процент
Посмотрите здесь:

C++ Определить процент элементов с неотрицательными значениями в одномерном массиве
C++ Вычитаем процент от числа.
C++ Определить процент слов в тексте, которые имеют удвоенную согласную
Вычислить процент положительных чисел, процент отрицательных чисел и процент нулей C++
Для данной журнальной ведомости определить процент успеваемости C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.07.2013, 14:11     определить процент #2
Redanix, почему 50000000? Что за 12? Тут через строчку косяки в коде.

Не по теме:

это Ваша первая программа? Или вторая?

Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
02.07.2013, 14:18     определить процент #3
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
#define N 100
 
int main()
 
 
{
    setlocale (LC_ALL,"rus");
bool A[N];
int n,muzchini=0,devushki=0,procent;
 
std::cout << "Введите кол-во жителей: \n";
std::cin >> n;
 
for (int i(0);i<n;i++)
    std::cin >> A[i];
 
for (int i(0);i<n;i++)
    if (A[i]==1)
        devushki++;
    else
        muzchini++;
 
system ("cls");
 
procent = (devushki*100) /n;
std :: cout << "Процент девушек составляет: " << procent << std::endl;
 
    std::cin.get();
    std::cin.get();
}
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.07.2013, 14:20     определить процент #4
Denisqwwq, т.е. город не более 100 жителей, да?
Redanix
0 / 0 / 0
Регистрация: 21.04.2013
Сообщений: 13
02.07.2013, 14:23  [ТС]     определить процент #5
ну 50000000 - условно, любое число пойдет) 12 не надо, этот цикл вообще можно убрать.Глаз замылился, и я его вообще не заметил.
Программа на c это примерно пятая, но остальные были совсем простые
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
02.07.2013, 14:24     определить процент #6
Tulosba, учитывая условия задачи, я бы и до 15 сократил
не будет же пользователь вводить вручную 100 значений
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
02.07.2013, 14:31     определить процент #7
Denisqwwq, пользователи бывают разные. Учитывая постановку задачи, тут не обойтись без динамически выделяемой памяти. Хотя по факту, массив тут и вовсе не нужен. Читаешь число с потока ввода и инкрементируешь либо кол-во мужчин, либо кол-во женщин.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 14:37     определить процент
Еще ссылки по теме:

C++ Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент положительных и отрицательных чисел и процент нулей и выводи
Определить процент положительных, отрицательных и нулевых элементов последовательности C++
Определить процент элементов массива, которые содержат цифру 5 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
02.07.2013, 14:37     определить процент #8
Redanix,
знак равенства обозначается как
C++
1
if (g[i]==0)km+g[i];
а это
C++
1
if (g[i]=0)km+g[i];
присваивание.

Добавлено через 4 минуты
Tulosba, ТС решает свою пятую задачу на C++, не думаю, что пример с динамической памятью будет понятен.
Массив требуется из условия задачи
Yandex
Объявления
02.07.2013, 14:37     определить процент
Ответ Создать тему
Опции темы

Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru