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

Ввести с клавиатуры имя файла и передать его в функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Может ли MSXML в XML файле найти все вхождения "123" в значениях атрибутов элементов и заменить их на "321"? http://www.cyberforum.ru/cpp-beginners/thread1821519.html
Всем доброго времени суток. Столкнулся со странноватой задачей, но что-то застрял с ней, т.к. использую либу MSXML. Собственно смыл: считываю кусок XML документа, там могут быть совершенно разные...
C++ Перенести в конец списка все элементы, равные нулю не могу перенести эл-нт в конец списка если он =0. он почему то копируется на место 1-ого эл-та. вот общий код: #include <iostream> #include <locale> //для работы с юникод... http://www.cyberforum.ru/cpp-beginners/thread1821488.html
Не работает проверка на високосный год C++
//--------------------------------------------------------------------------- #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused...
Ifstream проверка на конец файла C++
float toFloat(char array, int lenAr);// for delete dollar symbol and // convert to float int main() { char fname, lname, buff; int week1, week2; float payRate; ifstream...
C++ Создание массива двумя цифрами http://www.cyberforum.ru/cpp-beginners/thread1821445.html
Здравствуйте. Есть такой вопрос: нужно создать массив 3 на 3 и заполнить его только 1ми и 0ми равным кол-вом (+-1) разными расположениями этих цифр в массиве и узнать сколько этих разных расположений...
C++ Как записать в Visual Studio C++? Выведите на экран номер четверти, которой принадлежит точка с координатами (x,y), если x и y равны 0, то выводить сообщение что это точка начала координат, а если x или y равны нулю, то выводить... подробнее

Показать сообщение отдельно
Anya1919
2 / 0 / 2
Регистрация: 06.10.2016
Сообщений: 17
Завершенные тесты: 1
08.10.2016, 11:25  [ТС]
Цитата Сообщение от Peoples Посмотреть сообщение
nd2, Не запрещено, значит разрешено
Но имя файла скорее всего будет без пробелов, можно и просто cin
Цитата Сообщение от nd2 Посмотреть сообщение
Что, собственно, не вышло? Покажи как делала, что вводила, как передавала. Тут, вроде бы, проблем быть не должно.
Цитата Сообщение от gru74ik Посмотреть сообщение
Anya1919, используйте std::getline из заголовочного файла string:
У меня возникала ошибка, когда я пыталась в мэине присвоить введённое с клавиатуры значение массиву символов и передать его через указатели в функции Sort и Print, пока ждала помощи написала запрос на введение имени файла в каждой из функций, до фикса, но это же неочень, когда 2 раза приходится вводить имя одного и того же файла
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
#include <iostream>
#include <clocale>
#include <fstream>
#include <cstring>
 
using namespace std;
 
float** Create(int);
void Sort(float**, int);
void Input(float**, int);
void Print(float**, int);
void Delete(float**, int);
 
int main()
{
    setlocale(LC_ALL, "");
    int size;
    cout << "Введите размерность матрицы: ";
    cin >> size;
    if (size % 2 == 0)
    {
        cout << "Для сортировки заданным методом матрица должны быть нечётной размерности!" << endl;
        system("pause");
        exit(1);
    }
    float **array = Create(size);
    Input(array, size);
    Print(array, size);
    Sort(array, size);
    Delete(array, size);
    system("pause");
    return 0;
}
 
float** Create(int size)                    //создаём n-мерный динамический массив
{
    float** array = new float*[size];
    for (int i = 0; i < size; i++)
    {
        array[i] = new float[size];
    }
    return array;
}
 
void Sort(float** array, int size)          //сортировка массива
{
    char filename[40];
    cout << "Введите название файла куда будем выводить результат работы: " << endl;
    cin >> filename;
    ofstream fout;
    fout.open(filename, ios_base::app);
    int i, j;
    int n = 0;
    fout << "\n";
    std::cout << "\n\n";
    i = size / 2, j = size / 2;
    do {
        n++;
        for (int k = 0; k < n; k++)         
            fout << array[i--][j] << ' ';
        if (n == size)
            break;
        for (int k = 0; k < n; k++)                 
            fout << array[i][j++] << ' ';       
        n++;
        for (int k = 0; k < n; k++)         
            fout << array[i++][j] << ' ';       
        for (int k = 0; k < n; k++)                 
            fout << array[i][j--] << ' ';       
    } while (n);
    fout.close();
}
 
void Input(float** array, int size)         //ввод эл-тов массива
{
    for (int i = 0; i < size; i++)
    {
        for (int j = 0; j < size; j++)
        {
            cout << "array[" << i << "][" << j << "]=? ";
            cin >> array[i][j];
        }
    }
    std::cout << "\n \n";
}
 
void Print(float** array, int size) {               //вывод массива
    char filename[40];
    cout << "Введите название файла куда будем выводить результат работы: " << endl;
    cin >> filename;
    ofstream fout;
    fout.open(filename);
    fout << size << "  " << size << "\n\n";
    cout << "\n";
        std::cout << size << "  " << size << "\n\n";
        for (int i = 0; i < size; ++i) {
            for (int j = 0; j < size; ++j) {
                std::cout << array[i][j] << ' ';
                fout << array[i][j] << ' ';
            }
            std::cout << std::endl;
            fout << endl;
        }
    fout.close();
    }
 
void Delete(float** array, int size) {
    for (int i = 0; i < size; i++)
        delete[] array[i];
    delete[] array;
}
Добавлено через 4 минуты
Собственно ещё возникала проблема с тем, чтобы выводить одновременно результат работы в консоль и параллельно в файл, то есть до вызова функции Sort не возникало, но когда я к строчкам вывода в файл, начиная с 60-ой добавляла std::cout << ........... ; то всё компилировалось, но во время работы в консоли, а конкретнее когда функция Sort должна была распечатать что от неё требуют - печатала 1-ое число и выскакивала ошибка доступа к памяти, после чего вызывался отладчик, которым я пользоваться естественно не умею
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru