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

Ввод\вывод файла - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выводит перегрузку оператора сложения http://www.cyberforum.ru/cpp-beginners/thread1132641.html
Помогите пожалуйста исправить ошибку: не выводит перегрузку оператора сложения как сделать чтобы /*Класс "Многочлен одной переменной". Поля: степень многочлена, массив коэффициентов. Методы: вычисление значения, дифференцирование, перегрузка операций сложения "+" и сравнения на равенство "==" двух многочленов.*/ #include <iostream> #include <ctime> #include <math.h> using namespace std;...
C++ Написать программу, которая вводимое число преобразует в текст Написать программу, которая по вводимому числу от 1 до 5 (номеру курса) выдает соответствующее сообщение «Привет, k-курсник». Например, если k=1, «Привет, первокурс*ник»; при k=4: «Привет, четверокурсник» http://www.cyberforum.ru/cpp-beginners/thread1132633.html
Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю C++
Помогите пожалуйста решить, и распишите каждую строку а то будут спрашивать что тут а что там. -Двумерный массив вычислить сумму и число положительных элементов матрицы A, находящихся над главной диагональю.
C++ Создать консольное приложение, которое продолжало бы работать до тех пор, пока не нажата клавиша "y"
Доброго времени суток. Прошу помочь в решении поставленного передо мной вопроса. Суть: Нужно написать консольное приложение, которое продолжало бы работать до тех пор, пока не нажата клавиша "y" (не важно какая это будет кнопка, может быть любая другая). Я написал кое-что, но это работает неправильно - программа основана на цикле While. Первый проход она делает как положено, а вот после...
C++ Раздельная компиляция http://www.cyberforum.ru/cpp-beginners/thread1132614.html
В Гугле не забанен,нашел описание самого принципа,но конкретных примеров не нашел. Вопросы вот какие: 1) Если у меня есть класс, который я хочу вынести во внешний фаил, то нужно будет два фаила - .h и .cpp ? И как их подключать к проекту,чтобы компиляция свершилась? И методы класса там же указываются? 2) Внешние функции, как я понимаю, выносятся в фаилы .cpp . Соответственно, тоже не особо...
C++ Дублирование последнего символа при чтении файла Подскажите пожалуйста почему в файле output.txt, который записывает программа, дублируется последний символ input.txt ? #include <iostream> #include <stdio.h> #include <conio.h> #include <string> #include <fstream> using namespace std; int main() подробнее

Показать сообщение отдельно
avatar1870
2 / 2 / 0
Регистрация: 28.09.2013
Сообщений: 401
28.03.2014, 23:22  [ТС]     Ввод\вывод файла
C++
1
2
3
4
5
6
7
8
9
10
11
 if (!fip) {
            cout << "ошибка: не могу открыть входной файл " << endl;
            system("pause");
            exit(0);
            }
            for(int i=0;i<size;++i)
            for(int j=0;j<size;++j)
            {
            fip>>Arr[i][j];
            }
            cout << "Загрузка завершена!" << endl;
Добавлено через 22 минуты
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <cmath>
#include <cstdlib>
#include <stdlib.h>
using namespace std;
double determ(int** Arr, int size);    //прототип функции поиска определителя
ifstream in ("C:\\123.txt");
int main()
{
    setlocale(0,"");
    int size=3;     //константа размера массива
    double temp=0;
    int **Arr;      //указатель обьявляется, для использования динамического массива
     char buff[250];
  Arr=new int*[size];     //создание динамического массива
            for(int i=0;i<size;++i)     
            Arr[i]=new int[size]; 
    int H;
    while(1>0)
{
    cout<<"Нажмите 1, если вы хотите ввести другую размерность матрицы(стандартный размер=3)"<<endl;
    cout<<"Нажмите 2, если вы хотите ввести матрицу c клавиатуры"<<endl;
    cout<<"Нажмите 3, если вы хотите ввести матрицу из файла"<<endl;
    cout<<"Нажмите 4, если вы хотите сохранить матрицу в файл"<<endl;
    cout<<"Нажмите 5, если вы хотите вывести матрицу"<<endl;
    cout<<"Нажмите 6, если вы хотите вычислить и вывести на экран дискриминант"<<endl;
    cout<<"Нажмите 7, если вы хотите вычислить дискриминант и сохранить его в файл"<<endl;
    cout<<"Нажмите 8, если вы хотите очистить экран"<<endl;
    cout<<"Нажмите 9, если вы хотите получить справку по программе"<<endl;
    cout<<"нажмите 0, если вы хотите выйти"<<endl;
    cin>>H;
    ifstream fip ("C:\\Kurs\\vvod.txt");
    ofstream fp ("C:\\Kurs\\determ.txt");
    ofstream fout ("C:\\Kurs\\vivod.txt");
    ofstream f;
    f.open("C:\\Kurs\\help.txt");
    char str;
     switch (H)
    {
       case 0:
           cout<<"Выходим из программы!";
           goto Exit;
       break;
       case 1: cout<<"Размерность= ";
        cin>>size;
        if (size<0 || size>15) cout<<"Введёна неверная размерность матрицы! "<<endl;
        else cout<<"размерность:= "<<size<<endl;
 
       break;
       case 2: cout<<"Введите матрицу!"<<endl;
            for(int i=0;i<size;++i)
            for(int j=0;j<size;++j)
            cin>>Arr[i][j];        //эта и 2 строки выше - заполнение массива с клавиатуры
       break;
 
       case 3: 
            if (!fip) {
            cout << "ошибка: не могу открыть входной файл " << endl;
            system("pause");
            exit(0);
            }
            for(int i=0;i<size;++i)
            for(int j=0;j<size;++j)
            {
            fip>>Arr[i][j];
            }
            cout << "Загрузка завершена!" << endl;
       break;
       
       case 4: 
            
            if ( ! fout ) {
            cout << "Ошибка: не могу открыть входной файл"<<endl;
            system("pause");
            exit(0);
            }
            for(int i=0;i<size;++i)
            for(int j=0;j<size;++j)
            {
            fout  <<  Arr[i][j];
            }
           
            cout << "Сохранение завершено!" << endl;
       break;
 
       case 5:
       cout<<"Вывод матрицы!"<<endl;
       for(int i=0;i<size;++i)
        {
        for(int j=0;j<size;++j)
        cout<<Arr[i][j]<<' ';               // вывод массива на экран в "правильной" форме
        cout<<endl;
        }
       break;
 
       case 6:
       cout<<"Вычисление определителя!"<<endl;
       cout<< determ(Arr, size)<<endl;        //выводит на экран результат подсчета функции поиска определителя determ(Arr- сюда передаем массив, size- сюда размер массива)
       break;
 
       case 7:
           if (!fp) {
            cout << "Ошибка: не могу открыть входной файл"<<endl;
            system("pause");
            exit(0);
            }
            temp = determ(Arr, size);
            fp << "Определитель = " << temp;
 
            cout << "Сохранение завершено!" << endl;
       break;
      
       case 8:
       system("cls");
       break;
 
       case 9:
       while(!f.eof())
                      {
       f.get(str);
       cout<<str;
                      }
       break;
    }
     fp.close();
     fout.close();
     fip.close();
     f.close();
}
 Exit:
    for(int i=0;i<size;++i)     // удаляем сначала содержимое массива
    delete[] Arr[i];
    delete[] Arr;               //потом сам массив
return 0;
}
double determ(int** Arr, int size)         //функция поиска определителя
{
    int i,j;
    double det=0;       //переменная определителя
    int **matr;         //указатель
        if(size==1)     // 1-е условие , размер 1
        {
        det=Arr[0][0];
        }
            else if(size==2)    // 2-е условие , размер 2
            {
            det=Arr[0][0]*Arr[1][1]-Arr[0][1]*Arr[1][0];    
            }
    else
    {
    matr=new int*[size-1]; //создание динамического массива
    for(i=0;i<size;++i)
        {
        for(j=0;j<size-1;++j)     
        {
        if(j<i)
          {
            matr[j]=Arr[j];
                   }
        else
            matr[j]=Arr[j+1];
               }
    det+=pow(-1.0,(i+j))*determ(matr, size-1)*Arr[i][size-1];    //подсчеты
          }
    delete[] matr;  //удаляем массив
    }
    return det; //возвращаем значение определителя
}
 
Текущее время: 13:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru