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

Запись в файл - C++

Восстановить пароль Регистрация
 
Harutyunyan
1 / 1 / 0
Регистрация: 28.09.2012
Сообщений: 91
28.09.2012, 21:59     Запись в файл #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
53
54
55
56
#include <iostream>
#include <fstream>
#include <time.h>
 
using namespace std;
 
void CreateArr(int*, int); // Прототип функции создания массива и вывода в файл
void QSort(int*, int, int); // Прототып функции сортировки массива
 
int main()
{
    int N = 10;
    int *m_arr = new int[N];
    CreateArr(m_arr, N);
    ofstream oFile;
    QSort(m_arr,0,N); // Сортирую массив
    oFile.open("output.txt",ios::in | ios::ate); // Открываю файл для добавления
    oFile << "\n\n\n";
    for(int i = 0; i < N; i++) 
        oFile << m_arr[i] << char(32); // И добавляю
    oFile.close();
    delete[] m_arr;
}
 
void CreateArr(int *m, int iter)
{
    srand(time(NULL));
    ofstream fin("output.txt");
    for(int i = 0; i < iter; i++)
    {
        m[i] = rand() % 100;
        fin << m[i] << char(32);
    }
    fin.close();
}
 
void QSort(int *arr, int pL, int pR)
{
    int i,j,m,t;
    i = pL; j = pR;
    m = arr[(i+j)/2];
    while (i < j)
    {
        while(arr[i] < m) i++;
        while(arr[j] > m) j--;
        if(i<=j)
        {
            t = arr[i];
            arr[i] = arr[j];
            arr[j] = t;
            i++; j--;
        }
    }
    if(pL < j) QSort(arr, pL, j);
    if(pR > i) QSort(arr, i, pR);
}


Но при компиляции выдает ошибку в виде мессаджа.

Запись в файл

В чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2012, 21:59     Запись в файл
Посмотрите здесь:

C++ запись в файл
C++ Запись в файл
Запись в файл C++
запись в файл C++
C++ Запись в файл
запись в файл. не создается файл C++
Запись в файл C++
C++ запись в файл

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Harutyunyan
1 / 1 / 0
Регистрация: 28.09.2012
Сообщений: 91
29.09.2012, 10:24  [ТС]     Запись в файл #2
Все спасибо, за столько много кратные ответы.
Задача решена.

C++
1
2
3
4
5
6
7
int *m_arr = new int[ N];//в m_arr N элементов, от 0 до N-1 
... 
QSort(m_arr,0,N); 
Идем в QSort 
 i = pL; j = pR;//j теперь равно N 
 ...
 while(arr[ j] > m) j--;//arr[ j] ЗА ПРЕДЕЛАМИ МАССИВА
Yandex
Объявления
29.09.2012, 10:24     Запись в файл
Ответ Создать тему
Опции темы

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