Модераторы: Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> матрицы n*n, Найти (A+B)*C 
:(
    Опции темы
Bony
Дата 28.12.2005, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



Дана матрицы A,B,C n -ого порядка, найти матрицу (A+B)*C!!

Пасибо!!!! завтра последний срок! Я конечно понимаю , у меня наглости хоть отбовляй, но все же....
PM MAIL ICQ   Вверх
Бегемот
Дата 28.12.2005, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 26.1.2005
Где: На границе Европы и Азии

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



А язык-то какой?! smile
PM MAIL   Вверх
mvdr
Дата 28.12.2005, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

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



насколько я помню: сума матриц=сумме их соответствующих элементов
умножение = умножению соотв. элементов.
Тогда просто циклом прогоняем от 1 до n и в новую матрицу заносим элементы: d[i,j]:=(a[i,j]+b[i,j])*c[i,j]
Добавлено @ 09:07
Код

program 1;
uses crt;
const n=10; {нужное число}
var A,B,C,D:array[1..10] of integer;
 i, j:integer;
begin clrscr;
{ввод массивов А В С}
for i:=1 to n do
for j:=1 to n do
d[i,j]:=(a[i,j]+b[i,j])*c[i,j];
{вывод массива D};
readkey;
end.




--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Guest
Дата 28.12.2005, 09:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Язвк Си!

Владимир Сергеевич, спасибо, а не составит труда на Си!!



  Вверх
mvdr
Дата 28.12.2005, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

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



Цитата(Guest @ 28.12.2005, 09:51)
не составит труда на Си!!
составит . Но смысл же простой:
  • задание размерности
  • заполение массивов
  • вычисление по формуле каждого элемента нового массива d[i,j]:=(a[i,j]+b[i,j])*c[i,j]
  • вывод нового массива



--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Akina
Дата 28.12.2005, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата
насколько я помню: сумма матриц=сумме их соответствующих элементов

да

Цитата
умножение = умножению соотв. элементов.

нет
Код

Result(i,j) = Summ(Matrix1(i,k)*Matrix2(k,j))



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
mvdr
Дата 28.12.2005, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

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



Akina, точно, строка на столбец.



--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
Bony
Дата 28.12.2005, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



Код

Result(i,j) = Summ(Matrix1(i,k)*Matrix2(k,j))


Вот это я не понял!!!
PM MAIL ICQ   Вверх
Akina
Дата 28.12.2005, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(Bony @ 28.12.2005, 11:47)
Вот это я не понял!!!

А что непонятного? для того чтобы получить элемент матрицы-произведения Result(i,j) - i-й столбец j-й строки - нужно сложить произведения элементов i-го столбца первой матрицы на соответствующий элемент j-й строки второй матрицы.

Код

for (i=0;i<N;i++)
{
  for (j=0;j<N;j++)
  {
    Result(i,j) = 0;
    for (k=0;k<N;k++)
    {
      Result(i,j) += Matrix1(i,k) * Matrix2(k,j);
    }
  }
}



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Bony
Дата 28.12.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



Это реализованно умножение!!

А сложение так?
Код

Summ(i,j)=0;
for (i=0;i<N;i++)
{
  for (j=0;j<N;j++)
  {
    Summ(i,j)+=Matrix1(i,j)+Matrix(i,j);
  }
}



PM MAIL ICQ   Вверх
Bony
Дата 28.12.2005, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



А как сделать чтоб порядок задавал пользователь??

smile

И как ввести матрицу?
так что ли
Код

printf("vvedite");
for(i=0;i<n;i++)
scanf("%d%d", &m[][],&m[][]) // вот здесь незнаю че в скобках писать!

PM MAIL ICQ   Вверх
Akina
Дата 28.12.2005, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

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



Цитата(Bony @ 28.12.2005, 13:14)
А сложение так?

Нет.
Код

for (i=0;i<N;i++)
{
  for (j=0;j<N;j++)
  {
    Result[i,j] = Matrix1[i,j] + Matrix[i,j];
  }
}


Цитата(Bony @ 28.12.2005, 14:27)
И как ввести матрицу?


Код

cout << "Вводим очередную матрицу, аднака...\n";
for (i=0;i<N;i++)
{
  for (j=0;j<N;j++)
  {
    cout << "\nM(",i,",",j,")=";
    cin >> Matrix(i,j);
  }
}



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Bony
Дата 28.12.2005, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



Matrix(i,j); - это функция??
Или этот массив надо просто определить int matrix[n][n]?

Это сообщение отредактировал(а) Bony - 28.12.2005, 14:41
PM MAIL ICQ   Вверх
Бегемот
Дата 28.12.2005, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 26.1.2005
Где: На границе Европы и Азии

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



Bony, Matrix - это массив!
Если хочешь, что бы порядок задавал пользователь, создавай массив динамически....
Код

int N;
cout << "Введите порядок матрицы! : ";
cin >> N;
int **Matrix = new int *[N];
for(int i=0; i<N; i++)
   Matrix[i] = new int [N];
......................................
//освобождаем выделенную память
delete[] Matrix;

...ну или объявляй его с заведомо большой размерностью!(Плохой совет! Его не слушай)

PM MAIL   Вверх
Bony
Дата 28.12.2005, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.12.2005
Где: Новосибирск

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



А если порядок const например 5, можешь код кинуть?? Войди в моё положений!!!

Условие:

Дана матрицы A,B,C n -ого порядка, найти матрицу (A+B)*C!!

PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

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


 




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


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

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