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

Записать результаты проги в файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ VirtualAlloc http://www.cyberforum.ru/cpp/thread115217.html
Всем привет!!! у кого есть любая роботающая програма с функцией VirtualAlloc??? Мне очень нада!!!!!!
C++ Кодировка Я получаю от сервака данные в CP1251 кодировке, однако там присутствуют символы не из нее (как они туда попали - уже не ко мне вопрос) и стандартный местный метод получения строки из тучи байтов stringWithData: recievedData encoding: NSWindows1251StringEncoding (Obj-C это. Не суть - Obj-C лишь надстройка над C добавляющая обьектность. Считаем, что пишу на чистом С) возвращает nil. Собственно... http://www.cyberforum.ru/cpp/thread115004.html
C++ Литература по ATL/WTL.
Здравствуйте, уважаемые форумчане! Не могли бы вы посоветовать стоящую литературу по библиотекам ATL/WTL, желательно не метровой толщины.
Ошибка при подключении dll C++
это dll #ifdef my_dll_ex #define dll_api __declspec(dllexport) #else #define dll_api __declspec(dllimport) #endif #include <iostream> #include "windows.h"
C++ Оболочка потока. Опять неоднозначность http://www.cyberforum.ru/cpp/thread111395.html
//========================================================================================================================================= class TOStream { protected: //----------------------------------------------------------------------------------------------------------------------------------------- ostream *Stream; ...
C++ Подключить устройство через COM-порт и отправить на него данные Всем доброго времени суток. Потребовалось подключить устройство через COM-порт, и чтобы программа считывала и отправляла не него данные. Начал разбираться в теме и нашел примерно такой код: #include <iostream> #include <string> #include <conio.h> #include <winbase.h> void open_port(); void close_port(); подробнее

Показать сообщение отдельно
Bi-2
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 17

Записать результаты проги в файл - C++

11.04.2010, 12:34. Просмотров 2576. Ответов 1
Метки (Все метки)

есть пр-ма выполняющая перемножение эл-ов под четными номерами, подсчет суммы элементов между 1-м и последним нулевыми элементами и преобразования массива (сначала отрицательные потом положительные)
программа выполняется...работает.....собственно нужно вывести результаты ее(программы) выполнения в файл...т.е. все как в 'черном окне'...записать в текстовый файл!....help!
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#include <iostream.h>                          //Подключаем библиотеку функций ввода-вывода
  
const int nmax = 100;                          //Задаем постоянную - максимальное кол-во элементов в массиве
//Объявляем процедуры и функции
float chetnproizv(int, float[]);               //функция подсчета произведения четных элементов
int vvod(float[]);                             //функция ввода массива
void summezdu0(int, float[]);                  //процедура подсчета суммы элементов между 1-м и последним нулевыми элементами
void preobrmas(int, float[], float[]);         //процедура преобразования массива (сначала отрицательные потом положительные)
 
//главная функция программы
void main()
{
    //Объявление переменных
    int i;                                     //счетчик цикла
    int n;                                     //Количество элементов в массиве
    float V[nmax];                             //исходный массив вещественных чисел
    float V1[nmax];                            //преобразованный массив вещественных чисел
    float p;                                   //Произведение четных элементов массива
    n = vvod(V);                               //вызов функции ввода массива
    p = chetnproizv(n, V);                     //вызов функции подсчета произведения четных элементов
    cout<<"Proizvedenie chetnih elementov = "<<p<<endl;  //вывод произведения четных элементов
    summezdu0(n, V);                           //вызов функции подсчета суммы эл-тов между крайними нулями
    cout<<"Ishodnii massiv:"<<endl;            //вывод "Исходный массив"
    for (i=0; i<n; i++)                        //с помощью цикла
        cout<<V[i]<<"  ";                      //выводим все элементы исходного массива
    cout<<endl;                                //переход на следующую строку
    preobrmas(n, V, V1);                       //вызов функции преобразования массива (сначала отрицательные, затем положительные)
    cout<<"Preobrazovannii massiv:"<<endl;     //вывод "Преобразованный массив"
    for (i=0; i<n; i++)                        //с помощью цикла
        cout<<V1[i]<<"  ";                     //выводим все элементы преобразованного массива
    cout<<endl;                                //переход на следующую строку
 
}
 
//функция ввода элементов массива
//выходные параметры:
//n - число элементов массива
//V - массив вещественных чисел
int vvod(float V[nmax])
{
    int i;                                     //переменная цикла
    int n;                                     //число элементов массива
    do                                         //выполнить (начало цикла)
    {
        cout<<"Vvedite chislo elementov"<<endl;  //вывод "Введите число элементов"
        cin>>n;                                //ввод n (считать с клавиатуры)
        if (n<=0 || n>nmax)                    //если n меньше или равно 0 или больше nmax
                                               //вывести "Число элементов должно быть между 1 и nmax" 
            cout<<"Chislo elementov dolzno bit' mezdu 1 i "<<nmax<<endl;
    } while (n<1 || n>nmax);                   //пока n не будет в пределах от 1 до nmax
    for (i=0; i<n; i++)                        //цикл от 0 до n-1
    {
        cout<<"Vvedite element "<<i+1<<": ";   //вывод "Введите элемент i+1"
        cin>>V[i];                             //ввод i-го элемента массива
    }
    return n;                                  //функция возвращает n - число элементов массива
}
 
//функция подсчета произведения четных элементов массива
//входные параметры:
//n - число элементов массива
//V - массив элементов
//выходной параметр:
//произведение четных элементов массива
float chetnproizv(int n, float V[nmax])
{
    int i;                                     //счетчик цикла
    float p = 1;                               //начальное значение произведения
    for (i=0; i<n; i++)                        //цикл по всем элементам массива
        if ((i+1) % 2 == 0)                    //если номер четный (делится на 2 без остатка)
            p = p*V[i];                        //умножаем p на этот на элемент
    return p;                                  //возвращаем полученное произведение
}
 
//процедура подсчета суммы элементов между крайним левым и крайним правым нулевыми элементами
//входные параметры:
//n - число элементов массива
//V - массив элементов
void summezdu0(int n, float V[nmax])
{
    int i = 0;                                 //счетчик цикла (задаем ему 1-й элемент массива)
    int k1 = -1, k2 = n;                       //k1 - номер первого нулевого элемента, пока не найден k1=-1
                                               //k2 - номер последнего нулевого элемента, пока не найден k2=n
    float sum = 0;                             //сумма элементов между k1 и k2
    while (i<n && k1==-1)                      //цикл (пока не перебраны все элементы массива с начала
    {                                          //или не найден крайний левый 0)
        if (V[i]==0)                           //если i-й элемент равен 0
            k1=i;                              //запоминаем его номер в k1
        i++;                                   //увеличиваем i на 1
    }                                          //конец цикла
    i = n;                                     //задаем i последний элемент массива
    while (i>=0 && k2==n)                      //цикл (пока не перебраны все элементы массива с конца
    {                                          //или не найден крайний правый ноль)
        if (V[i]==0)                           //если i-й элемент равен 0
            k2=i;                              //запоминаем его номер в k2
        i--;                                   //уменьшаем i на 1
    }                                          //конец цикла
    if (k1==-1 || k2==n || k1==k2)             //если не найдены k1 или k2 или k1=k2
        cout<<"Nedostatochno nuley v massive!"<<endl;  //вывод "Недостаточно нудей в массиве"
    else                                       //иначе
    {
        for (i=k1; i<=k2; i++)                 //цикл от k1 до k2
            sum=sum+V[i];                      //считаем сумму
                                               //вывод "Сумма между первый и последним нулями равна sum"
        cout<<"Summa elementov mezdu pervim i poslednim nulevimi elementami = "<<sum<<endl;
    }
}
 
//процедура преобразования массива (сначала все отрицательные, затем положительные элементы)
//входные параметры:
//n - число элементов массива
//V - исходный массив
//выходные параметры
//Vpr - преобразованный массив
void preobrmas(int n, float V[nmax], float Vpr[nmax])
{
    int i;                                     //счетчик цикла
    int k = 0;                                 //номер текущего элемента преобразованного массива
    for (i=0; i<n; i++)                        //цикл по всем элементам исходного массива
        if (V[i]<0)                            //если i-й элемент V меньше нуля
        {
            Vpr[k]=V[i];                       //k-му элементу Vpr присвоить i-й элемент V
            k++;                               //увеличить k на 1
        }
    for (i=0; i<n; i++)                        //цикл по всем элементам исходного массива
        if (V[i]>=0)                           //если i-й элемент V больше или равен нулю
        {
            Vpr[k]=V[i];                       //k-му элементу Vpr присвоить i-й элемент V
            k++;                               //увеличить k на 1
        }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru