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

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

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

вопрос про скобки - C++

13.03.2011, 01:21. Просмотров 639. Ответов 8
Метки нет (Все метки)

Здравствуйте, получил задание написать программу, смысл которой заключается в умножении матрицы на столбец. Матрица статическая, функция умножения пишется собственная.

Программу написал, единственное, что не могу понять, почему без скобок по обе стороны указателя на тип (строка 51) функция не работает? Объясните пожалуйста этот момент, вот код:

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
#include <iostream>
 
using namespace std;
#define n 3
#define m 3
 
void product_mas_st(double *matrix, double *vector, double *product) //функция произведения cтатической матрицы на столбец
{ 
int i, j;
cout << "Произведение (A * B): " << endl;
for (i=0; i<n; i++) 
{ 
product[i] = 0;
for (j=0; j<m; j++) 
product[i] += matrix[i*m+j]*vector[j]; 
}
 
}
 
 
 
void main()
{ 
setlocale(LC_ALL, "Russian");
 
// Статистический массив
 
cout << "Статический массив\n\n";
 
int i,j;          
double matrix_st[n][m], vector_st[m], product_st[n];
 
cout << "Введите элементы матрицы A[" << n << "][" << m <<"]: ";
 
for(i=0; i<n; i++) 
for(j=0; j<m; j++) 
cin >> matrix_st[i][j];
 
for(i=0; i<n; i++){ 
    for(j=0; j<m; j++)
        cout << "\t" << matrix_st[i][j];
    cout << endl << endl;}
 
cout << "Введите элементы вектора B[" << m << "]: ";
for(j=0; j<m; j++)
    cin >> vector_st[j];
for(j=0; j<m; j++)
{cout << "\t" <<vector_st[j];
cout << endl << endl;}
 
product_mas_st((double*) matrix_st, (double *)vector_st, (double *)product_st);
for(i=0; i<n; i++) 
cout << "\t" << product_st[i] << endl << endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 01:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос вопрос про скобки (C++):

Задача про скобки - C++
Всем привет. Недавно показали мне такую задачу: ... намекнув на рекурсию. Кто-нибудь знает, как это решается? Спасибо :) ...

Вопрос про указатели - C++
#include &lt;iostream.h&gt; int main() { int x; int *Pointer; pointer = &amp;x; cout &lt;&lt; pointer; cout &lt;&lt; *ponter; return 0; ...

Вопрос про friend - C++
Вот мой код. #include&lt;iostream&gt; using namespace std; class Bottle; class Carton { public: Carton(const Bottle&amp; xBottle) {...

Вопрос про char - C++
Пожалуйста обьясните доступным языком в чем разница между объявлениями, и какие когда лучше использовать char a; char *c; char b=new...

Вопрос про std:: - C++
std::cout &lt;&lt; &quot;Hello, world!&quot; &lt;&lt; std::endl; а можно cout &lt;&lt; &quot;Hello, world!&quot; &lt;&lt;endl; std пространство имен... где про это...

Вопрос про цикл. - C++
Добрый день. Попал в тупик, не знаю как закрутить cin&gt;&gt; в цикл подскажите пожалуйста:). Вот собственно задание: Написать функцию,...

8
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
13.03.2011, 01:27 #2
lesorub_, не знаю на счет указателей. но мне известно что мол функция main должна возвращать значение..
int main()
return ;
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.03.2011, 01:39 #3
Цитата Сообщение от instagib Посмотреть сообщение
lesorub_, не знаю на счет указателей. но мне известно что мол функция main должна возвращать значение..
int main()
return ;
Зачем? void тоже работает.
0
asics
Freelance
Эксперт С++
2850 / 1785 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
13.03.2011, 01:43 #4
Цитата Сообщение от Chelioss Посмотреть сообщение
Зачем? void тоже работает.
В стандарте языка нет такой перегрузки функции main().
0
instagib
122 / 85 / 3
Регистрация: 14.02.2011
Сообщений: 340
13.03.2011, 01:54 #5
lesorub_, попробуй написать без звездочек и скобок например
C++
1
product_mas_st(matrix_st, vector_st, product_st);
ибо обычно когда передают в функцию параметры, не создают их там же к примеру:

func(int x, int y);


а так func(x, y);
0
lesorub_
2 / 2 / 0
Регистрация: 20.02.2011
Сообщений: 51
13.03.2011, 02:04  [ТС] #6
Цитата Сообщение от instagib Посмотреть сообщение
lesorub_, попробуй написать без звездочек и скобок например
C++
1
product_mas_st(matrix_st, vector_st, product_st);
ибо обычно когда передают в функцию параметры, не создают их там же к примеру:

func(int x, int y);


а так func(x, y);
пробовал, ошибка осталась
0
Chelioss
180 / 180 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
13.03.2011, 03:00 #7
Цитата Сообщение от asics Посмотреть сообщение
В стандарте языка нет такой перегрузки функции main().
Я пока новичек. У меня в Visual Studio 2008 все прекрасно работает.
0
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
13.03.2011, 04:15 #8
В 51 строке перед тем, как передать параметры в функцию, ты приводишь их к соответствующим типам. А если убрать скобки, то получится синтаксическая ошибка - повторное объявление функции
0
silent_1991
Эксперт С++
4989 / 3046 / 149
Регистрация: 11.11.2009
Сообщений: 7,028
Завершенные тесты: 1
13.03.2011, 13:06 #9
Chelioss, если работает, то это ещё не значит, что так правильно. Прислушайтесь к asics и не зависимо от того, новичок вы или опытный программист, делайте так, как правильно, а не так, как работает.
0
13.03.2011, 13:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2011, 13:06
Привет! Вот еще темы с ответами:

Вопрос про память... - C++
Вот скажите пожалуйста в чем разница между int *p = new int; *p = 10; и int n = 10; не могу понять )

Вопрос про файлы - C++
где распологать текстовый файл, чтобы программа видела его сразу без прописания директории? пишу в VS

вопрос про new из с++ за 21 день - C++
контрольный вопрос: что возвращает оператор new, когда для создания объекта нет достаточно памяти7 Добавлено через 12 минут еще...

Вопрос про консоль - C++
День добрый. Я новичок в программировании и пишу консольную программу.Хотелось бы узнать у более опытных товарищей. Как сделать так,...


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

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

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