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

препроцесорная обработка - C++

Восстановить пароль Регистрация
 
Kings_ton
0 / 0 / 0
Регистрация: 19.10.2013
Сообщений: 43
04.03.2014, 18:19     препроцесорная обработка #1
файл Makros.h
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
#ifndef __MAKROS_H__
#define __MAKROS_H__
#define DOWN cout<<endl;
#define PEREVOD_V_STROKU(str) # str
#define  VVOD(mas,n)   double *mas;\
                     int n;\
                     cin>>n; \
                     mas = new   double[n];\
                     for(int i=0; i<n; i=i+1) \
                     {mas[i]=(double)(rand()%1000-500)/100;}    
 
#define VIVOD(mass,n) for (int i=0;i<n;i++) \
                        cout<<mass[i]<<"  ";
 
#define PROIZVEDENIE(mas,n,pr) double pr =1; \
                        for(int i=0;i<n;i++) \
                        if(mas[i]>0) pr*=mas[i]; 
 
#define SUMMA(mas,n,min,sum) double min=mas[0],sum=0;\
           for(int i=1;i<n;i++)\
           if(mas[i]>min)\
                    sum++;
#define CHETNECHET(mas,n)\
{for(int i=0;i<n;i+=2)\
{ \
    for(int j=i;j<n;j+=2)\
    {\
        if (mas[j]<mas[i]);\
        {\
            double a=mas[i]; mas[i]=mas[j]; mas[j]=a;\
        }\
    }\
}\
    cout<<endl;\
    {for(int i=1;i<n;i+=2)\
    {\
        for(int j=i;j<n;j+=2)\
        {\
            if(mas[j]<mas[i]);\
            {\
                double a=mas[i]; mas[i]=mas[j]; mas[j]=a;\
            }\
        }\
    }\
}\
};
#endif
файл .cpp
[CPP]#include <iostream>
#include<time.h>
#include "Makros.h"
using namespace std;

int main()
{
srand(time(NULL));
setlocale(LC_ALL, "rus");
cout<<PEREVOD_V_STROKU(Введите количество элементов массива;
VVOD(masA,N)
cout<<PEREVOD_V_STROKU(Изначальный массив;
DOWN
VIVOD(masA,N);
PROIZVEDENIE(masA,N,pr);
DOWN
cout<<PEREVOD_V_STROKU(Произведение положительных элементов = )<<pr;
DOWN
SUMMA(masA,N,min,sum);
cout<<PEREVOD_V_STROKU(Количество элементов больше первого = )<<sum;
DOWN
VIVOD(masA,N);
DOWN
CHETNECHET(masA,N);
VIVOD(masA,N);
system ("pause");
return 0;
}[/CPПомогите исправить сортировка некоректно работает.

Добавлено через 48 секунд
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
#include <iostream>
#include<time.h>
#include "Makros.h"
using namespace std;
 
int main()
{
    srand(time(NULL));
    setlocale(LC_ALL, "rus");
    cout<<PEREVOD_V_STROKU(Введите количество элементов массива:);
    VVOD(masA,N)
    cout<<PEREVOD_V_STROKU(Изначальный массив:);
    DOWN        
    VIVOD(masA,N);
    PROIZVEDENIE(masA,N,pr);
    DOWN
        cout<<PEREVOD_V_STROKU(Произведение положительных элементов = )<<pr;
    DOWN
    SUMMA(masA,N,min,sum);
    cout<<PEREVOD_V_STROKU(Количество элементов больше первого = )<<sum;
    DOWN
    VIVOD(masA,N);
    DOWN
    CHETNECHET(masA,N);
    VIVOD(masA,N);
    system ("pause");
    return 0;
}
Извините что так вышло)

Добавлено через 30 секунд
Вот задание
В одномерном массиве, состоящем из вещественных элементов, вычислить:
1) произведение положительных элементов массива;
2) сумму элементов массива, расположенных до минимального элемента.
Упорядочить по возрастанию отдельно элементы, стоящие на четных местах, и элементы, стоящие на нечетных местах.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 18:19     препроцесорная обработка
Посмотрите здесь:

Обработка строки C++
Обработка исключений C++
Обработка двумерных массивов. Обработка матриц C++
C++ Обработка массивов
C++ Обработка матриц
обработка строки C++
C++ Обработка исключений
C++ Обработка матриц

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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