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

Ошибка в коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Простой пример класса http://www.cyberforum.ru/cpp-beginners/thread1079584.html
Листинг 6.8. Объявление классов точки и прямоугольника // Начало файла Rect.hpp #include <iostream.h> class Point // хранит координаты x,y { // нет конструктора, используется конструктор по умолчанию public: void SetX(int x) { itsX = x; > void SetY(int у) { itsY = у; } int GetX() const < return itsX;}
C++ Написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв Нужно написать программу, которая печатает целочисленные эквиваленты ряда прописных и строчных букв, цифр и специальных символов. (Для A,B,C,a,b,c,0,1,2,$,*,+,/ и пробела). Покажите для одного , я доделаю сам , спасибо! http://www.cyberforum.ru/cpp-beginners/thread1079579.html
Как получить результат выполнение system()? C++
Добрый день. Как мне получить результат выполнения команды system() в какую, нибудь переменную? Добавлено через 24 секунды К примеру получить вывод system("dir"); OS: Windows
Разработать структуру объекта для представления и расчета объема и площади поверхности правильного усеченного конуса C++
Помогите с написанием проги! :cry: пожалуйста! Разработать структуру объекта для представления и расчета объема и площади поверхности правильного усеченного конуса. разработать программу, которая расчитывает объем и площадь поверхности правильного усеченного конуса помощью данного объекта
C++ Вводится число. Определить, является ли оно степенью двойки. http://www.cyberforum.ru/cpp-beginners/thread1079549.html
Вводится число. Определить, является ли оно степенью двойки. Необходимо использовать Операторы цикла ! Спасибо за внимание!
C++ Крестики-нолики При запуске выдаёт ошибку error LNK2001: неразрешенный внешний символ ""char __cdecl check(void)" (?check@@YADXZ)" Судя по всему, как-то неверно запрашиваю функцию check(). В любом случае, что-то с ней не так. Помогите плз) //Игра "Крестики-нолики" #include <stdio.h> #include <conio.h> #include <stdlib.h> char matrix; //Игровое поле подробнее

Показать сообщение отдельно
zss
Модератор
Эксперт С++
6290 / 5893 / 1911
Регистрация: 18.12.2011
Сообщений: 15,132
Завершенные тесты: 1
23.01.2014, 19:22     Ошибка в коде
Еще ошибка при вводе обоих матриц перепутаны строки и столбцы
Индексы N1,N2 - должны идти по строкам,
а M1,M2 - По столбцам.
Также ошибки при вводе M1,N1,M2,N2
Окончательный код
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
#include<iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "Russian");
    int N1, M1, N2, M2, N, M;
    
    cout<<"\t\tУмножение произвольных матриц\n\n";
    cout<<"Введите к-во строк первой матрицы: ";
    cin>>N1;
    cout<<"Введите к-во столбцов первой матрицы: ";
    cin>>M1;
    cout<<"\n\n\n\n\n\n\nРазмер матрицы(MxN), M - кол-во строк, N - кол-во столбцов!!!";
    while(N1<=0 || M1<=0)
    {
        cout<<"\n\nВведены ошибочные данные!!!\n\n";
        cout<<"Для повтора нажмите любую клавишу...";
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Введите размер первой матрицы: ";
        cin>>N1>>M1;
        cout<<"\n\n\n\n\n\n\nРазмер матрицы(MxN), M - кол-во строк, N - кол-во столбцов!!!";
    }
    system("cls");
    cout<<"\t\tУмножение произвольных матриц\n\n";
    cout<<"Размеры первой матрицы: "<< M1<<"x"<<N1<<endl;
    cout<<"Введите к-во строк второй матрицы: ";
    cin>>N2;
    cout<<"Введите к-во столбцов второй матрицы: ";
    cin>>M2;
    cout<<"\n\n\n\n\n\n\nРазмер матрицы(MxN), M - кол-во строк, N - кол-во столбцов!!!";
    while(N2<=0 || M2<=0)
    {
        cout<<"\n\nВведены ошибочные данные!!!\n\n";
        cout<<"Для повтора нажмите любую клавишу...";
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Размеры первой матрицы: "<< M1<<"x"<<N1<<endl;
        cout<<"Введите размер второй матрицы: ";
        cin>>N2>>M2;
        cout<<"\n\n\n\n\n\n\nРазмер матрицы(MxN), M - кол-во строк, N - кол-во столбцов!!!";
    }
    while(M1!=N2)
    {
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Введены ошибочные данные!!!\n\n";
        cout<<"\n\nКол-во столбцов в 1 матрице(N) должно равняться кол-ву строк(M) во 2 матрице!!!";
        cout<<"\nДля повтора нажмите любую клавишу...";
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Размеры первой матрицы: "<< N1<<"x"<<M1<<endl;
        cout<<"Введите размер второй матрицы: ";
        cin>>N2>>M2;
    }
 
    int **NM1 = new int*[N1];
    for(int i(0); i<N1; i++){
        NM1[i] = new int[M1];
    }
    int **NM2 = new int*[N2];
    for(int i(0); i<N2; i++){
        NM2[i] = new int[M2];
    }
 
    N=M2;
    M=N1;
    int x(0);
 
    int **NM = new int*[N];
    for(int i(0); i<N; i++){
        NM[i] = new int[M];
    }
    
    for(int i(0); i < N1; i++)
    {
        for(int j(0); j<M1; j++)
        {
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Введите "<< j+1 <<" элемент "<< i+1 << " строки первой матрицы: ";
        cin >> NM1[i][j];       
        }
    }
 
 
    for(int i(0); i < N2; i++)
    {
        for(int j(0); j<M2; j++)
        {
        system("cls");
        cout<<"\t\tУмножение произвольных матриц\n\n";
        cout<<"Введите "<< j+1 <<" элемент "<< i+1 << " строки второй матрицы: ";
        cin >> NM2[i][j];       
        }
    }
    for(int i(0); i < M; i++)
    {
        for(int j(0); j<N; j++)
        {
            for(int y(0); y<M1;y++)
            {
                x=x+(NM1[i][y]*NM2[y][j]);
            }
            NM[i][j]=x;
            x=0;            
        }
    }
    for(int i(0); i < M; i++)
    { 
        cout<<"|";
        for(int j(0); j<N; j++) {
        cout<<" "<<NM[i][j]<<" ";       
        }
        cout<<"|"<<endl;
    }
    for(int i(0); i < N1; i++)
    {
            delete [] NM1[i];
    }
    delete [] NM1;
 
    for(int i(0); i < N2; i++)
    {
            delete [] NM2[i];
    }
    delete [] NM2;
 
    for(int i(0); i < N; i++)
    {
            delete [] NM[i];
    }
    delete [] NM;
 
 
 
    cout<<"\n\nДля выхода нажмите любую клавишу...";
    system("pause");
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru