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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Ошибка в программе, где создается шаблон класса "стек" http://www.cyberforum.ru/cpp-beginners/thread293593.html
Задача:Гаражная стоянка имеет одну стояночную полосу, причем единственный въезд и единственный выезд находятся в одном конце полосы. Если владелец автомашины приходит забрать свой автомобиль, который не является ближайшим к выходу, то все автомашины, загораживающие проезд, удаляются, машина данного владельца выводится со стоянки, а другие машины возвращаются на стоянку в исходном порядке. ...
C++ Определить, является ли периодической последовательностью строка символов Определить, является ли периодической последовательностью строка символов A1 A2 ... AN, т.е. имеет ли она вид d d ... d, где d - некоторая подпоследовательность символов. http://www.cyberforum.ru/cpp-beginners/thread293561.html
Среди 13 монет есть одна отличающаяся по весу, за 3 взвешивания на чашечных весах найти ее C++
Известно, что среди 13 монет есть одна отличающаяся по весу (фальшивая - тяжелее она или легче – неизвестно). За 3 взвешивания на чашечных весах найти эту монету
C++ соединение двух массивов
здравствуйте! есть задача: даны два неубывающих массива x и y. найти их соединение, то есть неубывающий массив z, содержащий их общие элементы, причем каждый элемент должен входить в массив z столько раз, сколько он входит в общей сложности в массивах x и y. написал код, вроде бы все правильно, но не работает :(: #include <stdio.h> #include <conio.h> #include <iostream.h> using namespace...
C++ Исключения:: вопрос http://www.cyberforum.ru/cpp-beginners/thread293544.html
Прошу консультации по теоретическому вопросу. Фрагмент кода #include <cstdlib> #include <iostream> #include <math.h> #include <time.h> using namespace std; #include <windows.h>
C++ шестнадцатеричной системы в двоичную и наоборот. Разработка программы перевода чисел из шестнадцатеричной системы в двоичную и наоборот. подробнее

Показать сообщение отдельно
TARAKANhoy
 Аватар для TARAKANhoy
4 / 4 / 0
Регистрация: 28.03.2011
Сообщений: 94
12.05.2011, 17:44  [ТС]     Не получается сформировать матрицу по условиям задания
Вот у меня как раз сомнения есть в формировании переменных 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];
         }
      }
}
Вроде работает, но всё равно я так ничего и не понял...
 
Текущее время: 17:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru