Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простой вопрос 
:(
    Опции темы
Yurik
Дата 6.11.2005, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 18.6.2005

Репутация: нет
Всего: нет



Вопрос - простой как три руБля smile
Но я уже задолбался искать ответ smile

Надо передать в функцию 3 матрицы. Собственно, как это сделать?

Код

void unmMM(double A[7,7],double B[7,7],double C[7,7])
{
// здесь идет перемножение матриц A*B и запись результата в матрицу C
}


Добавлено @ 20:04
вышеприведенный код внаглую отказывается работать smile
PM MAIL   Вверх
Void
Дата 6.11.2005, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Код

void unmMM(double[,] A, double[,] B, out double[,] C) { }



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Yurik
Дата 6.11.2005, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 18.6.2005

Репутация: нет
Всего: нет



Пасиба!

Т.е. в эту функцию можно передавать матрицы любого размера?
Кстати, каким образом это делается?

PM MAIL   Вверх
Void
Дата 6.11.2005, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



Цитата(Yurik @ 7.11.2005, 00:35)
Т.е. в эту функцию можно передавать матрицы любого размера?

Да.
Цитата(Yurik @ 7.11.2005, 00:35)
Кстати, каким образом это делается?

То есть? Массивы в C# динамические. RTFMSDN


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Yurik
Дата 6.11.2005, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 18.6.2005

Репутация: нет
Всего: нет



Код

void unmMM(double[,] A, double[,] B, out double[,] C) { }


При использовании out вылази сразу 2 ошибки:
1) The out parameter 'C' must be assigned to before control leaves the current method
2) Use of unassigned local variable 'C'

При юзании ref все нормально.




Добавлено @ 23:06
Но я хочу out.....
PM MAIL   Вверх
bend0r
Дата 6.11.2005, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 76
Регистрация: 14.9.2005

Репутация: 1
Всего: 2



надо присвоить обезательно что нибуть массиву C.
Код

void unmMM(double[,] A, double[,] B, out double[,] C) 
{ 
        C = A; //для примера.  такое будет работать.
}

PM MAIL   Вверх
-ser-
Дата 7.11.2005, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



Цитата
Надо передать в функцию 3 матрицы.

используя out нельзя что-то передать в метод, а можно только взять из него, предварительно этому что-то присвоив. чем не устраивает ref.


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
Void
Дата 7.11.2005, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 25
Всего: 173



В данном случае вообще лучше всего не пользоваться out/ref, а просто вернуть матрицу, благо в .NET это недорогая операция.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0479 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.