Форум программистов, компьютерный форум 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, желательно не метровой толщины.
C++ Ввод массива из файла
Хелп плиз!!! Задача: "Нужно создать небольшую базу данных. Нужно чтобы массив задавался из текстового файла. В файле должны быть данные для 5 человек: первая колонка - номер, 2-я - Ф.И.О., 3-я заработная плата. Нужно вывовить на экран и редактировать эти данные.". Зарание очень всем благодарен.
C++ Ошибка при подключении dll http://www.cyberforum.ru/cpp/thread114907.html
это dll #ifdef my_dll_ex #define dll_api __declspec(dllexport) #else #define dll_api __declspec(dllimport) #endif #include <iostream> #include "windows.h"
C++ Не могу допереть до алгоритма определения суммы и кол-ва элементов массива Вот какое задание было: "Элементы массива размером (310) вычисляются следующим образом: В первой строке содержатся случайные числа из диапазона (-1 +1). Элементы второй строки вычисляются в соответствии с выражением y2=2sin(0.1x2+0.75)+1.5sin(2x2+2.5); третьей строки y3=3cos(0.4x3+0.36)+2.7cos(4x3+6.4); Определить сумму и количество отрицательных элементов второй строки и сумму и... подробнее

Показать сообщение отдельно
Bi-2
0 / 0 / 0
Регистрация: 24.02.2010
Сообщений: 17
11.04.2010, 12:34     Записать результаты проги в файл
есть пр-ма выполняющая перемножение эл-ов под четными номерами, подсчет суммы элементов между 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
        }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru