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

Выдает ошибку, как исправить её? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Разные компиляторы http://www.cyberforum.ru/cpp-beginners/thread232072.html
Програмировать на С++ только начинаю. Только вот при скачивании разных учебников - встречаю отличающиеся коды. В одних случаю пишеться using namespace std;, в других - нет. Кое-где местоcout << .... встречаетьсяcout :: ...... Использовал разные версии программ С++ (3.02, 5.02, сейчас стоит Microsoft Visual 6.0 ++). При двоеточиях в коде выдают ошибку. Visual работает как с командой с...
C++ Посчитать сумму элементов двумерного массива Элементы матрицы заполнить случайными числами в диапазоне от 3 до 8. Посчитать сумму элементов двумерного массива. Посчитать произведение нечётных элементов массива. Вывести на экран процентное соотношение суммы и произведения. #include <iomanip> #include <iostream> #include <cstdlib> #include <ctime> #include <string.h> http://www.cyberforum.ru/cpp-beginners/thread232061.html
Файлы C++
Ребят, есть задание, перемножить две матрицы и вывести максимальный элемент. Я написала простую программу. Необходимо ее переделать так, что бы матрица1 и матрица2 считывались с разных текстовых файлов, в которых было записано, например, информация в первом файле: 2 2 5 8 7 9 где 2 2 - размерность матрицы, 5 8 7 9 - элементы матрицы;
Время. C++
Помогите пожалуйста решить задачи. А то я не совсем поняла как ее делать. 1) предполагается реализация текстового меню и использование оператора case; Описать структуру «Время». Реализовать функцию, которая выведет на экран время в предложенном формате. Выберите формат: 1) 14:15:55 2) 14 часов 15 минут 55 секунд 3) 14-15-55 Ввод: 1
C++ Описать тип struct Rectangle http://www.cyberforum.ru/cpp-beginners/thread232029.html
не знаю как сделать то, что выделено жирным шрифтом( Описать тип struct Rectangle, задающий на плоскости замкнутый прямоугольник со сторонами, параллельными координатным осям и габаритами (x–, x+) и (y–, y+) по осям абсцисс и ординат соответственно. Реализовать в виде отдельных функций следующие операции над переменными этого типа: а) вычисление площади прямоугольника; б) построение...
C++ Написать программу, в ходе выполнения которой... Написать программу, в ходе выполнения которой круг зеленого цвета, появившись в центре экрана и постепенно расширяясь, увеличивается в размерах в три раза, а затем сжимается до начальных размеров. Нужно срочно сделать до вечера. подробнее

Показать сообщение отдельно
Андрей1990
0 / 0 / 0
Регистрация: 21.01.2011
Сообщений: 12
21.01.2011, 13:49     Выдает ошибку, как исправить её?
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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
//Подсчитать количество строк заданной целочисленной матрицы NxN, являющихся перестановкой чисел 1,2...N
//( т.е. содержащих кадое из чисел 1,2...N ровно один раз)
 
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
 
int num();
void create(int** m, int r);//создает матрицу
void input(int** m, int r);//заполняет матрицу
void show(int** m, int r);//показывает матрицу
void del(int** m, int &r);//удаляет матрицу
void scan(int** m, int r);//определяет сколько строк удовлетворяют условию задания
void save(int** m, int r, char* filename);//сохраняет матрицу в файл
void load(int** m, int r, char* filename);//загружает из файла
 
int _tmain(int argc, _TCHAR* argv[])
{
    int** m = 0;//указатель на матрицу
    int r =0;//для размера матрицы
    char filename[200];//для имени файла
    int menu = 0;
    if (argc > 1)//проверяем командную строку
        load(m, r, argv[1]);//если параметр задан, загружаем матрицу
    while (1)
    {
        if (m)
            show(m, r);//если матрица есть выводим ее
        cout << "1.Sozdat matricu" << endl;//выводим меню
        cout << "2.Kollichestvo strok" << endl;
        cout << "3.Zagruzit" << endl;
        cout << "4.Sohranit" << endl;
        cout << "5.Vyhod" << endl;
        menu = num();//выбераем пункт меню
        switch (menu)
        {
            case 1: 
                {
                    if (m)  
                        del(m, r);//если матрица создана удаляем ее
                    cout << "Vvedite razmer N" << endl;
                    r = num();
                    if (r > 0)//если размер корректный
                    {
                        create(m, r);//создаем матрицу
                        input(m, r);//и заполняем ее
                    }
                    else cout << "Ne korrektnyj razmer" << endl;
                    break;
                }
            case 2:
                {
                    if (m) 
                        scan(m, r);//если создана, определяем колличество строк
                    else cout << endl << "Sozdayte matricu" << endl;//иначе выводим ошибку
                    break;
                }
            case 3:
                {
                    if (m)  
                        del(m, r);//если матрица создана удаляем ее
                    cout << "Vvedite imya faila" << endl;
                    cin.getline(filename, 99); 
                    load(m, r, filename);//загружаем из файла
                    break;
                }
            case 4:
                {
                    if (m)//если создана
                    {
                        cout << endl << "Vvedite imya faila" << endl;
                        cin.getline(filename, 99);
                        save(m, r, filename);//сохраняем в файл
                    }
                    else cout << endl << "Sozdayte matricu" << endl;
                    break;
                }
            case 5: return 0;
        }
    }
    return 0;
}
 
int num()
{
    int rez = 0;
    cin >> rez;//вводим число
    cin.sync();//отчищаем поток от ошибок
    cin.clear();
    return rez;//возврыщвем введеное число
}
 
void create(int** m, int r)
{
        m = new int*[r];//выделяем память под указатели на строки матрицы
        for (int  i = 0; i < r; i++)
            m[i] = new int[r];//выделяем память под элементы матрицы
}
 
void input(int** m, int r)
{
    for (int i = 0; i < r; i++)
        for (int j = 0; j < r; j++)
        {
            cout << "a(" << i << ", " << j << ") = ";
            m[i][j] = num();//вводим значеня элементов
        }
}
 
 
void show(int** m, int r)
{
    for (int i = 0; i < r; i++)
    {
        for (int j = 0; j < r; j++)
            cout << m[i][j] << ' ';//выводим элементы через пробел
        cout << endl;//переходим на следующую строку
    }
}
 
void del(int** m, int r)
{
    for (int i = 0; i < r; i++)
        delete [] m[i];//освобождаем память из под элементов матрицы
    delete [] m;//и из под указателей
    m = 0;
    r = 0;
}
 
void scan(int** m, int r)
{
    int rez = 0;
    int count;
    bool b;
    for (int i = 0; i < r; i++)//цикл для строк
    {
        b = true;
        for (int n = 1; n <= r; n++)//цикл для чисел от 1 до n
        {
            count = 0;
            for (int j = 0; j < r; j++)//цикл для элементов строки
            {
                if (m[i][j] == n)//считаем сколько раз текущее число встречается в строке
                    count++;
            }
            if (count != 1)//каждое число должно быть единственным в строке
            {//если условие не соблюдается
                b = false;
                break;//то перехлдим к следующей строке
            }
        }
        if (b)//если все числа от 1 до n встретились по 1 разу то увеличиваем результат на 1
            rez++;          
    }
    cout << "Kolichestvo strok: " << rez << endl;
}
 
void save(int** m, int r, char* filename)
{
    ofstream f;
    f.open(filename);//создаем файл
    if (f)
    {
        f << r << " ";//записываем размер
        for (int i = 0; i < r; i++)
            for (int j = 0; j < r; j++)
                f << m[i][j] << " ";//записываем элементы матрицы
    }
    else cout << endl << "Oshibka sohraneniya" << endl;
} 
 
void load(int** m, int r, char* filename)
{
    ifstream f;
    f.open(filename);//открываем файл
    char space = 0;
    if (f)
    {
        f >> r;//читаем размер
        if (r != 0)
        {
            create(m, r);//создаем матрицу
            for (int i = 0; i < r; i++)
                for (int j = 0; j < r; j++)
                {                                   
                    if (!f.eof())
                        f >> m[i][j];//читаем данные из файла в матрицу
                    else  m[i][j] = 0;//зануляем те элементы на которых не хватило данных
                }
        }
        else cout << endl << "Oshibka faila" << endl;
    }
    else cout << endl << "Oshibka zagruzki" << endl;
}
 Комментарий модератора 
Используйте теги форматирования кода.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru