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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
TARAKANhoy
 Аватар для TARAKANhoy
4 / 4 / 0
Регистрация: 28.03.2011
Сообщений: 94
#1

Не получается сформировать матрицу по условиям задания - C++

11.05.2011, 23:54. Просмотров 252. Ответов 2
Метки нет (Все метки)

Имеем задачу:
Не получается сформировать матрицу по условиям задания

Совершенно не пойму как сформировать матрицу...Помогите пожалуйста написать функцию для формирования матрицы по условиям из пункта "а", мне бы только логику понять. Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2011, 23:54     Не получается сформировать матрицу по условиям задания
Посмотрите здесь:

C++ Не получается заполненить матрицу
Сформировать матрицу C++
C++ Сформировать матрицу
Сформировать квадратную матрицу C++
Сформировать матрицу C++
C++ сформировать матрицу
C++ Подскажите пожалуйста, как правильно вывести,сформировать массив из задания
Сформировать произвольную матрицу C++
Сформировать квадратную матрицу C++
Сформировать матрицу по образцу C++
C++ Массивы, вывести матрицу не получается
Не получается собрать проект из задания книги Страуструпа C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4661 / 2487 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
12.05.2011, 05:31     Не получается сформировать матрицу по условиям задания #2
TARAKANhoy, Тут все просто. Сначало считываем данные:
- n, m, x_min, x_max, y_min, y_max (например с клавиатуры)
- затем формируем исходную первую матрицу (например с клавиатуры или с помощью rand()), учитывая значения x_min, x_max, y_min, y_max
- а вот теперь по указанной формуле формирем матрицу A.
TARAKANhoy
 Аватар для TARAKANhoy
4 / 4 / 0
Регистрация: 28.03.2011
Сообщений: 94
12.05.2011, 17:44  [ТС]     Не получается сформировать матрицу по условиям задания #3
Вот у меня как раз сомнения есть в формировании переменных x и y. Насколько мне известно эти переменные должны сами подсчитываться каким то образом, а не ввод с клавы или рандом...мне кажется тут всё завязано на i=1÷n но я вообще не понимаю что это. На деление не похоже (по крайне мере всегда писали слэш а тут вдруг такое), на кратность тоже не похоже (её всегда писали как знак %). Вот сижу парюсь с этой фигнёй.

p.s. нашёл похожую задачу (в той была другая формула и условия немного другие) и написал по её аналогии такой код:
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
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
 
void cin_matrA(int,int,double**);
void sum_matr(int,int,double**,double**,double**);
void trans_matr(int,int,double**,double**);
void cout_matr(int,int,char,double**);
double **RAM(int,int);
 
int main()
{
    int n,m; double **A,**B,**C;
    cout<<"Введите размерность матрицы:\n";
    cout<<"n="; cin>>n;
    cout<<"m="; cin>>m;
     A=RAM(n,m);
     B=RAM(n,m);
     C=RAM(n,m);
    cin_matrA(n,m,A);
     trans_matr(n,m,B,A);
     sum_matr(n,m,A,B,C);
    cout_matr(n,m,'A',A);
    cout_matr(n,m,'B',B);
    cout_matr(n,m,'C',C);
    system("pause");
}
 
//Функция определения памяти
double **RAM(int p,int q)
{
    double **s;
    s=new double*[p];
    for(int i=0;i<p;i++)
     s[i]=new double[q];
    return s;
}
 
//Функция определения матрицы A
void cin_matrA(int p, int q, double**mas)
{
  double hx,hy,xmin,xmax,ymin,ymax,x,y;
  cout<<"xmin=", cin>>xmin;
  cout<<"xmax=", cin>>xmax;
  cout<<"ymin=", cin>>ymin;
  cout<<"ymax=", cin>>ymax;
  hx=(xmax-xmin)/p;
  hy=(ymax-ymin)/q;
  x=xmin; y=ymin;
  for(int i=0; i<p; i++)
  { y=ymin;
    for (int j=0; j<q; j++)
     {mas[i][j]=x*pow(y,2)+0.5*pow(x,2)-0.04*y;
     y+=hy;
     }
    x+=hx;
  }
}
 
//Функция вывода матрицы на экран
void cout_matr(int p, int q, char Y, double**X)
{
     cout<<"\Матрица "
     <<Y<<"["<<p<<"]"<<"["<<q<<"]=\n";
     for(int i=0;i<p;i++)
      for(int j=0;j<q;j++)
      {
         cout<<setw(6)<<X[i][j]<<"|";
         if(j==q-1)cout<<endl;
      }
}
 
//Функция суммирвоания
void sum_matr(int p, int q, double**A, double**B, double**C)
{
     for(int i=0;i<p;i++)
      for(int j=0;j<q;j++)
      {
         C[i][j]=0;
         for(int k=0;k<q;k++)
         {
            C[i][j]+=A[i][j]*B[i][j];
         }
      }
}
 
//Функция транспонирования
void trans_matr(int p, int q, double**B, double**A)
{
     for(int i=0;i<p;i++)
      for(int j=0;j<q;j++)
      {
         B[i][j]=0;
         for(int k=0;k<q;k++)
         {
            B[i][j]=A[j][i];
         }
      }
}
Вроде работает, но всё равно я так ничего и не понял...
Yandex
Объявления
12.05.2011, 17:44     Не получается сформировать матрицу по условиям задания
Ответ Создать тему
Опции темы

Текущее время: 19:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru