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

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

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

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

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

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

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

Не получается собрать проект из задания книги Страуструпа - C++
Здравствуйте уважаемые форумчане. Изучаю материал "Принципы и практика использования C++" Страуструпа. Выполняют задание из 8 главы. ...

Подскажите пожалуйста, как правильно вывести,сформировать массив из задания - C++
Дан массив С из 16 элементов.Нужно:проинициализировать массив С, вывод промежуточных данных и массивов на экран. а) Сформировать массив...

Не получается заполненить матрицу - C++
Здравствуйте! :) Помогите пожалуйста найти ошибку.#include "stdafx.h" #include <iostream> using namespace std; void main(int...

Массивы, вывести матрицу не получается - C++
Добрый день, мой код, для вывода массива(матрица) с n строк и m столбцов, от 1 до n*m, не получается, пишет ошибка (Необработанное...

Сформировать матрицу - C++
Здраствуйте я не знаю языка С++ но вот задали такую задачу, если кто может помочь буду благодарен. Сформировать матрицу B(M,N) элементами...

Сформировать матрицу - C++
Помогите сделать задачу:дан вектор размера (6;1),нужно сформировать матрицу(6;3) ,каждый столбец которой равен элементам исходного вектора...

Сформировать матрицу - C++
Составить программу для подсчета среднего арифметического ненулевых ячеек прямоугольной таблицы Х, что состоит из M*N целых чисел, лежащих...

сформировать матрицу - C++
Здравствуйте товарищи! Нужно сформировать матрицу В(4х4) из матрицы А (4х4), заменив элементы главной и побочной диагоналей матрицы А...

Сформировать матрицу по правилу - C++
Здраствуйте, помогите пожалуйста написать это в С++ Буду очень благодарна!!!

Сформировать матрицу по правилу - C++
1. Напишите программу формирования и вывода массива размером 6x3, каждые три последовательных элемента в строке которого составлены по...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 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
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];
         }
      }
}
Вроде работает, но всё равно я так ничего и не понял...
Ответ Создать тему
Опции темы

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