Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Wonderlust_Queen

Массивы и функции

27.05.2009, 01:50. Показов 809. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот задачка:

Даны натуральное число p и вещественные квадратные матрицы A, B, и C размером 4х4. Получить (АxВxС)^р, используя функцию Mult (A, B), возвращающую результат умножения двух матриц.

Вроде написала, но криво=\ И результат уж очень кривой. Подскажите пожалуйста, где что не так

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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
using namespace std;
 
int mult (int x[][4], int y[][4])
 {
  int r,i,j,t[4][4];
   for (int j=0; j<4; j++)
   for(int i=0; i<4; i++)
    {
    t[i][j]=0;
    for(int k = 0; k < 4; k++)
        {
         t[i][j]+=x[i][k]*y[k][j];
         t[i][j]=r;
        }
    }
    return r;
 }
 
int main()
{
  const int n=4;
  int a[n][n],b[n][n],c[n][n],z[n][n],q[n][n],ans[n][n];
  int i,j,p;
 
cout<<"A:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
     a[i][j]=random(n);
     cout<<a[i][j]<<"; ";
      }
    cout<<endl;
   }
  cout<<"\n";
 
cout<<"B:"<<endl;
   for(i=0; i<n; i++)
   {
    for(j=0; j<n; j++)
    {
       b[i][j]=random(n);
     cout<<b[i][j]<<"; ";
        }
    cout<<endl;
   }
  cout<<"\n";
 
cout<<"C:"<<endl;
  for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       c[i][j]=random(n);
     cout<<c[i][j]<<"; ";
    }
    cout<<endl;
   }
  cout<<"\n";
 
z[i][j] = mult(a,b);
cout<<"MultAB:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       cout<<z[i][j]<<"; ";
      }
    cout<<endl;
   }
mult(a,b);
 
cout<<"\n";
 
q[n][n]=mult(z,c);
cout<<"Mult ABC:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       cout<<q[i][j]<<"; ";
      }
    cout<<endl;
   }
mult(z,c);
 
cout<<"\n";
cout<<"Enter p->";
cin>>p;
cout<<"Answer:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       ans[i][j]=q[i][j]^p;
       cout<<ans[i][j]<<"; ";
      }
    cout<<endl;
   }
 
getch();
}
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.05.2009, 01:50
Ответы с готовыми решениями:

Табулирование функции и поиск данных. Одномерные массивы. Двумерные массивы
Вычислить сумму первых четырех отрицательных элементов. В соответствии с п. 5.16 правил &quot;Запрещено создавать темы с множеством...

Указатели и массивы. Индексация с помощью указателей. Передача массивов в функции. Динамические массивы (обработка матриц)
Для каждого элемента , bij, i= 1,...,n , j=1,...,n определяется свой многоугольник местонахождением соответствующего элемента aij (см....

массивы. функции
что с ним не так?????что надо изменить это ошибки которые выдает error C3861: mN: идентификатор не найден error C3861: lN:...

3
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
27.05.2009, 09: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
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
using namespace std;
 
int mult (int x[][4], int y[][4])
 {
  int r,i,j,t[4][4];
   for (int j=0; j<4; j++)
   for(int i=0; i<4; i++)
    {
    t[i][j]=0;
    for(int k = 0; k < 4; k++)
        {
         t[i][j]+=x[i][k]*y[k][j];
         t[i][j]=r;
        }
    }
    return r;  // Чему равно r?? ***********************/
                   // Если хочешь получить на выходе массив(не помню,что такое
                   // перемножение матриц),Передавай в функцию указатель на
                   // его первый элемент(просто имя массива),
                   // а потом возвращай обратно.
 }
 
int main()
{
  const int n=4;
  int a[n][n],b[n][n],c[n][n],z[n][n],q[n][n],ans[n][n];
  int i,j,p;
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
 
cout<<"A:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
     a[i][j]=random(n);
     cout<<a[i][j]<<"; ";
      }
    cout<<endl;
   }
  cout<<"\n";
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
cout<<"B:"<<endl;
   for(i=0; i<n; i++)
   {
    for(j=0; j<n; j++)
    {
       b[i][j]=random(n);
     cout<<b[i][j]<<"; ";
        }
    cout<<endl;
   }
  cout<<"\n";
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
cout<<"C:"<<endl;
  for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       c[i][j]=random(n);
     cout<<c[i][j]<<"; ";
    }
    cout<<endl;
   }
  cout<<"\n";
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
z[i][j] = mult(a,b);// Что это такое?Я лично не понял.Чему равны i  и j?
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
cout<<"MultAB:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       cout<<z[i][j]<<"; ";
      }
    cout<<endl;
   }
mult(a,b);
 
cout<<"\n";
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
q[n][n]=mult(z,c); //Не понимаю эту строку.Как это компилируется?
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
cout<<"Mult ABC:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       cout<<q[i][j]<<"; ";
      }
    cout<<endl;
   }
mult(z,c);
 
cout<<"\n";
cout<<"Enter p->";
cin>>p;
cout<<"Answer:"<<endl;
for(i=0; i<n; i++)
   {
   for(j=0; j<n; j++)
    {
       ans[i][j]=q[i][j]^p;  // "^"-Это не возведение в степень!!!
                                      // Для этого есть функция pow().
       cout<<ans[i][j]<<"; ";
      }
    cout<<endl;
   }
 
getch();
}
0
Wonderlust_Queen
27.05.2009, 17:45
Цитата Сообщение от #pragma Посмотреть сообщение

// Если хочешь получить на выходе массив(не помню,что такое
// перемножение матриц),Передавай в функцию указатель на
// его первый элемент(просто имя массива),
// а потом возвращай обратно.

так у меня не получается ничего, говорит что suspicious pointer conversion
Временно недоступен
 Аватар для #pragma
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
28.05.2009, 10:21
Приведи полный код,что и как пытаешься сделать
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2009, 10:21
Помогаю со студенческими работами здесь

Массивы и функции
1.1)Записать каждое число в виде целой десятичной, восмеричной и шестнадцатиричной константы: 212 45 174 99 1.2)записать...

массивы и функции
помогите довести этот бред до ума.. суть программы - сформировать массив, в котором будут только элементы исходного, кратного числу К ...

Массивы и функции
Помогите создать файл функцию чтобы считался массив по формуле b(i)=i*log(i*i)+sin(i). Я сделала , но он у меня выводит только одно...

Функции и массивы
Дан массив целых чисел. Сформировать наибольшее возможное число из цифр максимального и минимального элементов массива. Вот программа,...

Массивы и функции
!!!! Народ, помогите задачу решить, ПОЖАЛУЙСТА, очень срочно надо, вопрос жизни и смерти, если не сдам то отчислят... задача...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru