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

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

Войти
Регистрация
Восстановить пароль
 
E-xtremeSumo
0 / 0 / 0
Регистрация: 04.11.2009
Сообщений: 5
#1

Подскажите в чем косяк? - C++

25.12.2009, 22:13. Просмотров 267. Ответов 0
Метки нет (Все метки)

а) Сформировать матрицу А с размерами n x m и присвоить ее элементам значения aij=F(xi, yj), где
F(xi,yj)=8,9xiyj+2,3xi2-8xiyj2, xmin≤xi≤xmax, i=1÷n, ymin≤yj≤ymax, j=1÷m.
Вводимые данные: xmin, xmax,, n, m, ymin, ymax.
б) Получить из матрицы А матрицу В путем циклического сдвига столбцов матрицы А на k элементов влево (k ≤ m). Затем сложить матрицы: С=А+В. Вывести на печать матрицы А, В, С.


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
#include <iostream.h>
#include <stdlib.h> //Для функции exit
#include <iomanip.h> //Для функции setw
void mult_matr(int,int,int,int**,int**,int**);
void cin_matr( int,int,char,int**);
void cout_matr(int,int,char,int**);
int **RAM(int,int);
void del_RAM(int,int**);
void main()
// Память
 double **new_mem(int n, int m)
  {double **S;
   S=new double *[n];
   for(int i=0; i<n; i++)
   S[i]=new double [m];
  return S;
 }
 // Освобождение
 void clian(int n, double**mas)
 { for (int i=0; i<n; i++)
   delete mas[i];
   delete []mas;
 }
 // Ввод А
 void kalkA(int n, int m, 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)/n;
  hy=(ymax-ymin)/m;
  x=xmin; y=ymin;
  for(int i=0; i<n; i++)
  { y=ymin;
    for (int j=0; j<m; j++)
     {mas[i][j]=8.9*x*y+2.3*x*x-8*x*y*y;
     y+=hy;
     }
    x+=hx;
  }
  }
  //Расчет матрицы B
  void shitB(int n,int m, double**mas1,double**mas2)
  { int k;
  cout<<"введите смещение к<=m"<<endl;
  cout<<"smeshenie k=", cin>>k;
      int l=0;
      for (int i=0; i<n; i++)
      for (int j=0; j<m; j++)
       {
         if(j>m-k)
           { l=j+k; mas2[i][l]=mas1[i][j];}
             else
               { l=j-(m-k); mas2[i][l]=mas1[i][j];
               }
       }
  }
 // ввод с
 void kalkC( int n,int m, double**mas1, double**mas2,double**mas3)
 {//return mas3;
 for(int i=0; i<n; i++)
 for(int j=0; j<m; j++)
  mas3[i][j]=mas1[i][j]+mas2[i][j];
 }
  //Вывод
  void vivod(int n, int m,char Y,double**mas)
  {
    cout<<"\n матрица: "
    <<Y<<"["<<n<<"]"<<"["<<m<<"]=\n";
    for(int i=0;i<n;i++)
    for(int j=0;j<m;j++)
      {cout<<setw(6)<<mas[i][j];
        if(j==m-1)cout<<endl;
      }   cout<<endl;
  }
   void main ()
  {int n,m; double **A,**B,**C;
  cout<<"n="; cin>>n;
    cout<<"m="; cin>>m;
    A=new_mem(n,m);
    B=new_mem(n,m);
    C=new_mem(n,m);
    kalkA(n,m,**A);
    shitB(n,m,**A,**B);
    kalkC(n,m,**A,**B,**C);
    vivod(n,m,'A',**A);
    vivod(n,m,'B',**B);
    vivod(n,m,'C',**C);
    clian(n,**A);
    clian(n,**B);
    clian(n,**C);
  }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2009, 22:13     Подскажите в чем косяк?
Посмотрите здесь:

C++ Подскажите в чем ошибка (С++)
Подскажите, в чем ошибка? C++
C++ Подскажите в чем ошибка?!
Подскажите в чем ошибка C++
написал прогу но в чем косяк она не работает C++
подскажите в чем причина.... C++
Подскажите в чем разница C++
подскажите в чем ошибка C++
C++ Подскажите в чем ошибка
подскажите в чем ошибка? C++
Подскажите в чем ошибка! C++
C++ Подскажите, в чем ошибка?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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