С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Запись динамического массива в файл (не правильно выводит данные) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать собственную функцию вычисления длины строки,перевода всех введенных букв в заглавные http://www.cyberforum.ru/cpp-beginners/thread921182.html
Написать собственную функцию вычисления длины строки,перевода всех введенных букв в заглавные.Продемонстрировать работу функции,введя несколько строк.
C++ Можно ли прервать цепочку наследования? например есть три класса, A, B и C. Класс "А" - базовый, "B" наследуется от "A", "C" наследуется от "B", как бы получается цепочка наследования A->B->C. Вопрос: можно ли сделать так, чтоб класс B... http://www.cyberforum.ru/cpp-beginners/thread921178.html
C++ Как создать статическую библиотеку с расширением .lib в MinGw?
Зачем это надо? - хочу скомпилировать библиотеку в MinGw и подключить к с++builder. Возможно ли это? а может, если я по-варварски возьму и перебью расширение .a на .lib будет работать? а может...
C++ Работа с граф интерфейсом
Почему он просто не может скомпилить ??
C++ рекурсивный алгоритм http://www.cyberforum.ru/cpp-beginners/thread921090.html
В общем я уже намучился с этим заданием... Дело такое, алгоритм составлен, но не совсем такой, какой нужен #include <iostream> #include <stdlib.h> #include <time.h> #include<conio.h> #include...
C++ Нужно заменить большое количество циклов for Подскажите пожалуйста. Встала такая проблема: нужно заменить большое количество циклов for двумя или вообще как-то нужно заменить хоть чем, но чтобы мы могли регулировать их количество. ... подробнее

Показать сообщение отдельно
power12
6 / 6 / 1
Регистрация: 14.04.2010
Сообщений: 100
11.07.2013, 19:52  [ТС]
ребят, спасайте
вот приложение консольное

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
int *mem_arr; //для динам массива
    int i;
    int cnt;
    printf ("\n Input array size:");
    scanf("%d",&cnt);
    mem_arr = (int *)malloc(cnt*sizeof(int)); // для динам массива
    
    for(int i=0;i<cnt;i++)
    {
        printf("x[%d]=",i);
        scanf("%d",&mem_arr[i]);
    }
 //вывожу
 
    ofstream file_out("c:/2.txt",ios::out);
    file_out << '\n';
    file_out << "Array R[" << cnt << "]" << " = {" <<"\n";
    int c;
    for(c = 0; c < cnt - 1; c++)
        {
            file_out << dec << mem_arr[c] <<  "," << "\n";
        }
    file_out << dec << mem_arr[c]<< "\n";
    file_out << "};" << '\n';
    free(mem_arr);
    free(mem_arr_2);
    file_out.close();
пытаюсь это же сделать в MFC используя динамический массив, ничего не получается у меня(
в итоге выводится примерно так

Array R[]={
-xxxxxxx,
-xxxxxxx,
457,
-xxxxxxx,
-xxxxxxx,
}

т.е последнее посчитанное число он выводит правильно, о остальные элементы массива заполняет неведомой херней(
когда точно размер массива задаю, то все получается хорошо , например R [15]

заранее неизвестно какого размера массив задается
как сделать так, что бы сколко раз я щелкнул на мышке(кнопка расчет), столько и записалось бы в массив




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
    int v1;         //  Для математических операций
    int v2;         //  Для математических операций
    int res;        //  Для математических операций
 
    int i ;
    int *mem_arr = 0; // Динамич
    int cnt = 20; // Динамич
 
    //int mem_arr[15];  //Обычный массив
 
void CArr_newDlg::OnBnClickedButton1() // кнопка расчета 
{
    UpdateData(TRUE);
 
    CString str;
 
    v1 = v_value_1; //получаю 1ое число
    v2 = v_value_2; //получаю 2ое число
    res = v1 + v2;  // складываю 1 и 2
    v_value_res = res;  // результат вывожу в окошко
            
    mem_arr = (int *)malloc(cnt*sizeof(int));   // Динамич массив для результатов
    *(mem_arr+i)=res;                           // для след результат (после нового сложения) 
    i++;                                        // Динамич
 
    str.Format(_T("%d"),int(res)); // вывожу в лист бокс
    c_list.AddString(str);
    
    //*(mem_arr + i) = res; // Обычный массив
    //++i;                  // Обычный массив
        
    UpdateData(FALSE);
}
 
 
void CArr_newDlg::OnBnClickedButton2() // кнопка сохранить и вывести в массив
{ 
    ofstream file_out("c:/Arr_data.txt",ios::out);
    //file_out << "Array R[]" << " = {" <<"\n";             // Обычный массив 
    file_out << "Array R[" << cnt << "]" << "={" <<"\n";    // Динамич
     
    int c;
    //for(c = 0; c < 15; c++)                   //Обычный массив
    for(c = 0; c < cnt - 1; c++)            //Динамич 
        {
            file_out << dec << mem_arr[c] <<  "," << "\n";
        }
    file_out << dec << mem_arr[c]<< "\n";   //Динамич 
    file_out << "};" << '\n';
    file_out.close();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.