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

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

Войти
Регистрация
Восстановить пароль
 
barlog
2 / 2 / 0
Регистрация: 03.11.2009
Сообщений: 227
#1

Переделать произведение - C++

17.02.2011, 23:51. Просмотров 321. Ответов 0
Метки нет (Все метки)

Была задача - умножить вектор-строку на матрицу(размеры матрицы фиксированы)
Вот я решила -
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
---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
const n1=3;
const m=3;
 
void MyStroka ( int n1 , int A[] )
{  int x,y;
for(int i=0 , x=10+5*n1, y=3+n1; i<n1 ; i++ , x+=5)
  { gotoxy(x,y) ;
  textcolor(10);
   A[i]=random(9);
     cprintf("%d" ,A[i])  ;
 
   }
}
 
 
 
void InMatr(int M[][m])
{ int i , j , x , y ;
   for(i=0 , y=wherey()+1 ; i<n1 ; i++ , y++ )
       for(j=0 , x=10 ; j<m ; j++ , x+=5 )
     {gotoxy(x,y) ;
      cin>>M[i][j] ;
     }
 }
 
 
void OutMatr(int M[][n1], int n1=3)
{ int i , j , x , y ;
   for(i=0 , y=3+n1 ; i<n1 ; i++ , y++ )
      { cout<<endl;
       for(j=0 , x=10 ; j<m ; j++ , x+=5 )
     {gotoxy(x,y) ;
     textcolor(13);
     cprintf("%d" ,M[i][j])  ;
     }
    }
 }
 
 
 
void MyProizved(int A[],int M[][n1],int *D , int n1=3)
{ int y=11 ;
for(int j=0  , i=0 , x =12; j<m ; j++ , x+=4)
   { gotoxy(x,y) ;
  textcolor(11);
   D[j]=A[i]*M[i][j]+A[i+1]*M[i+1][j]+A[i+2]*M[i+2][j] ;
      cprintf("%d" ,D[j])  ;
 
    }
 }
 
 
 
 
 
 
int main(int argc, char* argv[])
{
  int A[n1], C[n1][m], D[n1] ;
 
 
  InMatr(C);
  cout<<endl;
   OutMatr(C) ;
     cout<<endl;
   MyStroka ( n1, A);
 
 
     MyProizved(A,C , D);
        getch();
        return 0;
 
}



Теперь проблема в том как это переделать используя указатели и создав класс.
Помогите пожалуйста переделать!!!

Добавлено через 1 час 11 минут
у Меня вот что вышло...но выдает ошибки...в главной функции...что там слева...ПОСМОТРИТЕ ПОЖАЛУЙСТА!!!ОЧЕНЬ НАДО!!!

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
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
const n1=3;
const m=3;
 
 
class ClMatr
{ int M[n1][m] ;
  int *A ; int *D ;
  public:
  void MyStroka( );
  void InMatr( ) ;
  void OutMatr( )  ;
  void MyProizved(int *,int *,int * ) ;
 };
 
 
 
void ClMatr::MyStroka (  )
{  int x,y;
for(int i=0 , x=10+5*n1, y=3+n1; i<n1 ; i++ , x+=5)
  { gotoxy(x,y) ;
  textcolor(10);
   A[i]=random(9);
     cprintf("%d" , (*(A+i)))  ;
 
   }
}
 
 
 
void ClMatr::InMatr()
{ int i , j , x , y ;
   for(i=0 , y=wherey()+1 ; i<n1 ; i++ , y++ )
       for(j=0 , x=10 ; j<m ; j++ , x+=5 )
     {gotoxy(x,y) ;
      cin>>(*(M[i]+j)) ;
     }
 }
 
 
void ClMatr::OutMatr()
{ int i , j , x , y ;
   for(i=0 , y=3+n1 ; i<n1 ; i++ , y++ )
      { cout<<endl;
       for(j=0 , x=10 ; j<m ; j++ , x+=5 )
     {gotoxy(x,y) ;
     textcolor(13);
     cprintf("%d" , (*(M[i]+j)) )  ;
     }
    }
 }
 
 
 
void ClMatr::MyProizved(int *A,int M[][n1],int *D , int n1=3)
{ int y=11 ;
for(int j=0  , i=0 , x =12; j<m ; j++ , x+=4)
   { gotoxy(x,y) ;
  textcolor(11);
   *(D+j)=(*(A+i))*(*(M[i]+j))+(*(A+i+1))*(*(M[i+1]+j))+(*(A+i+2))*(*(M[i+2]+j)) ;
      cprintf("%d" ,  (*(D+j))  )  ;
 
    }
 }
 
 
 
 
 
 
int main(int argc, char* argv[])
{
 
   ClMatr ObAr() ;
 
  ObAr.InMatr();
  cout<<endl;
   ObAr.OutMatr() ;
     cout<<endl;
   ObAr.MyStroka ( );
 
 
     ObAr.MyProizved();
        getch();
        return 0;
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2011, 23:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Переделать произведение (C++):

Переделать программу с использованием функций (максимальный по модулю элемент массива, произведение модулей) - C++
Оформить каждый пункт задания в виде функции. Программу написала, осталось преобразовать в функции. В одномерном массиве, состоящем из...

В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и произведение . - C++
В матрице F(4,9) найти произведение элементов , что превышают заданное число B . Вывести матрицу и произведение .

В матрице найти произведение над главной диагональю,если произведение делится на 3 заменить побочную диагональ 0. - C++
Нужно заменить элементы побочной диагонали нулями,если произведение парных элементов над главной диагональю делится на 3,все сделал кроме...

Найти наибольшее произведение пары элементов массива (при условии, что произведение кратно 8, но не кратно 24) - C++
Помогите пожалуйста) дали задачу, найти наибольшее произведение пары элементов массива,при условии,что произведение кратна 8,но не кратна...

Проверить, что произведение отрицательных чисел массива больше, чем произведение нечетных чисел - C++
очередной раз, помогите пожалуйста Дан одномерный массив А, состоящий из целых чи¬сел. Если произведение отрицательных чисел массива...

Вычислить произведение отрицательных элементов P, затем произведение положительных элементов D - C++
В последовательности действительных чисел есть только положительные и отрицательные элементы. Вычислить произведение отрицательных...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2011, 23:51
Привет! Вот еще темы с ответами:

Вычислить произведение отрицательных элементов и произведение положительных элементов последовательности - C++
В последовательности действительных чисел a1,a2,...,an есть только положительные и отрицательные элементы. Вычислить произведение...

Переделать из C# в C++ - C++
Всем привет. У меня есть старый мой проект написанный на Visual c# у меня есть задание сделать тоже только на Vosual c++. я чтоб заново не...

Переделать из С++ в С - C++
Слушайте ребята как мне можно переделать эту задачу из C++ в обычную СИшку? #include &lt;vcl.h&gt; #pragma hdrstop #include...

переделать на с++ - C++
Последовательность 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, …, состоящая из нулей и единиц строится так: первый ее элемент равен 1, а остальные...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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