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

Произведение двух матриц через разыменование указателя - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Некорректно работает http://www.cyberforum.ru/cpp-beginners/thread992906.html
Здравствуйте помогите пож-та с задачкой: Сформировать вещественный массив X1(N), N≤20, элементами которого являются случайные числа из диапазона . Переслать из него в массив X2 все элементы, значения которых больше 24 и меньше 34. Вот мой код: #include <stdio.h> #include <stdlib.h> #include <conio.h> void main() {
C++ Посчитать произведение в тех рядках матрицы, в которых нет минусовых чисел Вимоги до програми: - использовать статические массивы; - максимальные розмеры массива (N i M) – константы; - реальные розмеры масива n i m (n<N, m<M) – ввести з клавиатури; - елементы массива – случайные числа, сгенерированые на интервале , де a і b (a<b) вводяться с клавиатуры; - все входящие данные а так же елементы массива выводятся на екран. 1). Программа сумирует первый и... http://www.cyberforum.ru/cpp-beginners/thread992902.html
Взгляните пожалуйста C++
#include "stdafx.h" #include <iostream> #include <fstream> #include <vector> using namespace std; int main() { ifstream in("text.txt");
увеличть размер клетки C++
Шахматная доска нада увеличь размер клетки #include <iostream> using namespace std; void main() { int h = 0; int w = 0; char ch = -37; cin>>h; cin>>w;
C++ Ошибка в программе http://www.cyberforum.ru/cpp-beginners/thread992845.html
Ребят, очередная ошибка в программе. - Задача - Для целочисленной квадратной матрицы найти число элементов, кратных К и наибольшие из этих элементов. - Код программы. - #pragma hdrstop #pragma argsused
C++ перегрузка функций #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; class chisl { public: double x,y,z,a; void set(double x, double y, double z) { подробнее

Показать сообщение отдельно
Максгалилей
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 11
30.10.2013, 19:29     Произведение двух матриц через разыменование указателя
программа должна вывести матрицу, которая есть результатом умножения двух матриц одинаковой размерности. нужно сделать только через разыменование поинтера. программа не выводит результата на экран. подскажите плз в чем проблема.
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int a, summ;
    cin>>a;
    
  
    
    int **product = new int*[a];
    for(int i=0; i<a; i++)
            product[i]=new int[a];
    for (int i = 0; i<a;i++) 
    {
        for (int j = 0; j<a;j++){
            product[i][j]=0;
        
    }
         }
     
 
    int**mas1=new int*[a];
    for(int i=0; i<a; i++)
            mas1[i]=new int[a];
    for (int i = 0; i<a;i++) 
    {
        for (int j = 0; j<a;j++){
            mas1[i][j]=0+ rand()%10;
        cout<<mas1[i][j]<<' ';
    }
      cout<<'\n';
    }
    cout<< "-------------"<<endl; 
    int**mas2=new int*[a];
    for(int i=0; i<a; i++) 
            mas2[i]=new int[a];
    for (int i = 0; i<a; i++)
    { 
        for (int j = 0; j<a; j++)
        {
            mas2[i][j]=0 + rand()%10;
            cout<<mas2[i][j]<<' ';
        }
      
        cout<<'\n';
    }
    cout<< "-------------"<<endl; 
    /*for(ii=0; ii<N; ii++) for(jj=0; jj<N; jj++) {
   x = 0;
   for(i=0;i<N; i++) x+= *(a+ii*N +i) * *(b+i*N + jj);
   *(c+ii*N+jj) = x;
}*/
    for (int row = 0; row < a; row++) {
        for (int col = 0; col < a; col++) {
         summ=0;
            for (int inner = 0; inner < a; inner++) {
                
                summ += (**(mas1+row*a +inner)) * (**(mas2 + inner*a + col));
                **(product + row*a + col)=summ;
                
            }
           cout <<summ<< "  ";
        }
        cout << "\n";
    }
 
    
    for(int i = 0; i < a; i++){
            delete[] mas1[i];
    delete[] mas1;}
    for(int i = 0; i < a; i++){
            delete[] mas2[i];
    delete[] mas2;}
    for(int row=0; row<a; row++){
            delete[] product[row];
    delete[] product;      }  
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru