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

Массив, объявленный как двумерный, является одномерным - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Битовые поля структур: что такое и зачем они нужны? http://www.cyberforum.ru/cpp-beginners/thread810733.html
Собственно, вопрос в заголовке. Читал Шилдта, но там эта тема довольно расплывчата. Надеюсь, кто-нибудь сможет доходчиво объяснить.
C++ постфиксная перегрузка поная запись Здарова! создал класс Int2 как бы моделирующий int в нем решил перегрузить все операторы которые токо есть с вызовом в короткой форме и в полной. оператор постфиксный ++ перегрузил так Int2 operator++(int) { return val++; //это открытый член-значение класса. } http://www.cyberforum.ru/cpp-beginners/thread810715.html
функции и матрицы C++
всем привет! задание следующее: Написать функции: 1. создания матрицы размерности , элементы матрицы А – вещественные числа. Параметры функции – сама матрица, ее размерность. 2. печати матрицы. Параметры функции – сама матрица, ее размерность. 3. поиска суммы положительных элементов матрицы. для начала написал без функций, создает и печатает без проблем. Написал с функцией и крах......
C++ Внезапное прекращение работы программы
#include<iostream> #include<cstdlib> #include<conio.h> #include<ctime> using namespace std; int* elp(int *A,int *n,int e) //Добавление элемента в начало массива { *n++;
C++ Пятерки http://www.cyberforum.ru/cpp-beginners/thread810693.html
Задано натуральное N. Требуется написать программу, которая определит количество цифр 5 в записи всех натуральных чисел от 1 до N включительно. Входные данные Во входном файле INPUT.TXT в единственной строке задается число N <= 10^18. Выходные данные В выходной файл OUTPUT.TXT записывается найденное число – количество пятерок.
C++ Транспонирование матриц. Вынести часть кода в отдельную функцию /* транспонировать матрицу, используя функции. я матрицу транспонировал, а через функцию не знаю как правильно делать, нужна помощь */ #include<iostream.h> #include<conio.h> #include<stdlib.h> main() { clrscr(); randomize(); подробнее

Показать сообщение отдельно
WarAngel-alk
0 / 0 / 0
Регистрация: 01.02.2013
Сообщений: 25

Массив, объявленный как двумерный, является одномерным - C++

17.03.2013, 11:22. Просмотров 329. Ответов 1
Метки (Все метки)

Сабж в теме. Объявляю двумерный массив 5х5 строкой
C++
1
float mas[5][5];
Затем заполняю его данными с клавиатуры. При компиляции ошибок никаких, но во время дебага тип массива определяется как float[5]*. Притом, с массивом curM, объявленным аналогично в функции det все нормально - двумерный, как и положено.

Код
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
#include "stdafx.h"
 
using namespace std;
 
float det(float mas[5][5], int n, int m, int x, int y);
 
int main()
{
    int n, m;
    float mas[5][5];    // Объявление двумерного массива
 
    cout << "Type m and n\n";
    cin >> n >> m;
 
 
    cout << "Type matrix\n";
    for(int i = 0; i < n; ++i){
        for(int j = 0; j < m; ++j){
            cin >> mas[i][j];
        }
    }
 
    cout << "Det of this matrix is " << det(mas, n, m, -1, -1);
    getch();
}
 
float det(float mas[5][5], int n, int m, int x, int y)
{
    float curM[5][5] = {0};
    float res = 0;
 
    for(int i = 0; i < m; ++i){
        for(int j = 0; j < n; ++j){
            if((n != x) && (m != y)){
                curM[i][j] = mas[i][j];
            }
        }
    }
 
    if((n > 1) && (m > 1)){
        for(int i = 0; i < n; ++i){
 
            res += pow(-1.0, i) * det(curM, n - 1, m - 1, i, 0);
        }
        return res;
    }
    else{
        return curM[0][0];
    }
}
Миниатюры
Массив, объявленный как двумерный, является одномерным  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru