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

Как сделать программу через объекты? - C++

Восстановить пароль Регистрация
 
Катюшa
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 4
29.12.2013, 22:47     Как сделать программу через объекты? #1
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
47
48
49
50
51
52
#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
float max,min,med,sred,s;
float x[100];
int i,n,k;
clrscr();
while(1)
{
printf("\n n=");
scanf ("%d", &n);
if (n>0 && n<100) break;
printf("error");
}
for(i=0; i<n; i++)
{
printf("x[%d]= ", i);
scanf("%f", & x[i]);
max=0.0
for(i=0; i<n; i++)
{
if(x[i]>max)
{
max=x[i];
}
}
min=max;
for (i=0; i<n; i++);
{
if(x[i]>0 && x[i]<min)
{
min = x[i];
}
}
med =(max+min)/2;
printf("mediana= %4.2f\n",med);
s=0;
k=0;
for (i=0; i<n; i++)
{
if(x[i]<0)
{
s+s+x[i];
k=k+1;
}
}
sred=s/k;
printf ("srednee= %4.2f \n",sred);
getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2013, 22:47     Как сделать программу через объекты?
Посмотрите здесь:

C++ Как сделать так чтобы при развертывании окна во весь экран все объекты на форме размещались по ней равномерно?
C++ Память под объекты через new
C++ Сделать программу на 50 строк через Switch
Функция создает объекты и указателями на них заполняет массив. При выходе из функции вызываются деструкторы объектов. Как сохранить объекты? C++
как эту программу сделать через функции пользователя? C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
29.12.2013, 22:52     Как сделать программу через объекты? #2
Условие задачи хоть напишите.
Катюшa
0 / 0 / 0
Регистрация: 14.11.2013
Сообщений: 4
29.12.2013, 22:56  [ТС]     Как сделать программу через объекты? #3
MicM, конечно.
Дан одномерный массив (не более 100 чисел). Найти медиану для положительных и среднее арифметическое для отрицательных элементов массива. Массив распечатать в строку. Формат числа +ццц. ц
yogurt
 Аватар для yogurt
58 / 58 / 1
Регистрация: 02.08.2008
Сообщений: 106
29.12.2013, 23:35     Как сделать программу через объекты? #4
Я сделаю довольно смелое предположение, что с программированием Вы не совсем в ладах... или просто вечер уже и поэтому есть несколько опечаток.
Если концептуально: 1. Вы зачем-то создаёте массив из ста чисел, а используете только n. Можно воспользоваться динамическими массивами. 2. То, что в программе называется "медиана" никакая не медиана, а среднее значение. Медиана -- это число, стоящее по середине последовательности чисел, упорядоченной по возрастанию (учебники или гугл в помощь).
Что касается кода: мои глаза горят. Задание до жути знакомое. Наверняка что-то из Павловской. У Шилдта есть реализация чего-то подобного (медиана точно есть).
Поправьте в коде жгущие глаза ошибки и скажите, что именно Вас беспокоит в нём. Или можно в специальный раздел, где умельцы без вопросов сделают за новогодний подарок что угодно.
И самое главное забыл: как именно Вы объекты использовать хотите?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
29.12.2013, 23:47     Как сделать программу через объекты? #5
Конечно не очень хорошо так статические массивы использовать, но все же
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
class Massiv
{
    int mas[100];
    int size;
public:
    Massiv()
    {
        for (int i=0; i<100; i++)
            mas[i] = 0;
        size = 0;
    }
    void setsize (int n)
    {
        size = n;
    }
    void fill()
    {
        srand(time(NULL));
        for (int i=0; i<size; i++)
            mas[i]=rand()%15-4;
    }
    void print() const
    {
        for (int i=0; i<size; i++)
            cout <<mas[i] <<' ';
        cout <<endl;
    }
    float median() const
    {
        int tmp[100]={0};
        int k = 0;
        for (int i=0; i<size; i++)
        {
            if (mas[i]>0)
            {
                tmp[k] = mas[i];
                ++k;
            }
        }
        bool flag;
        int temp;
        do
        {
            flag = true;
            for (int i=0; i<k-1; i++)
            {
                if (tmp[i+1]<tmp[i])
                {
                    temp = tmp[i+1];
                    tmp[i+1] = tmp[i];
                    tmp[i] = temp;
                    flag = false;
                }
            }
        }
        while (!flag);
        if (k%2!=0)
            return tmp[k/2];
        else return (tmp[k/2]+tmp[k/2-1])/2.0;
    }
    float srednee() const
    {
        float sr = 0,k = 0;
        for (int i=0; i<size; i++)
        {
            if (mas[i]<0)
            {
                sr+=mas[i];
                ++k;
            }
        }
        if (k!=0)
            return sr/k;
        else return 0;
    }
};
 
const int n = 7;
 
int main()
{
    Massiv object;
    object.setsize(n);
    object.fill();
    object.print();
    cout <<"Median: " <<object.median() <<endl
         <<"Srednee: " <<object.srednee() <<endl;
    return 0;
}
Yandex
Объявления
29.12.2013, 23:47     Как сделать программу через объекты?
Ответ Создать тему
Опции темы

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