On-line: гостей 0. Всего: 0 [подробнее..]
Программисты всех стран, объединяйтесь!

АвторСообщение



ссылка на сообщение  Отправлено: 28.07.12 12:02. Заголовок: Поиск ошибки в программе для умножения матриц.


здрасте. В общем, я почти закончил свою программу. Так мне кажется. Но, при компиляции создается екзешник, затем по началу программа работает. Ввожу элементы матрицы, но до самих расчетов не доходит.
Вот сам исходник:



 цитата:
#include <iostream>
#include <conio.h>
using namespace std;


int main() {
int i=1,j=1,k=1,l=1;
int sum , rd1 , st1 , rd2 , st2 ;
char ch;
// ввод расширения первой матрицы.
cout << "Vveditb rozmirnistb pershoi Matruci: ";
cin >> rd1;
cin >> st1;
// ввод расширения 2 матрицы.
cout << "Vveditb rozmirnistb dryhoi matruci: ";
cin >> rd2;
cin >> st2;
// выход при не соответствии.
if (st1 != rd2) {
cout << "\nMatruc9 ne ob4usljuets9!";
getch();
return 0;
}
// ввод элементов матриц.
int a[rd1][st1];
for (i=1; i<=rd1; i++){
for (j=1; j<=st1; j++){
cout << "vveditb element a " << i << "_" << j << " = " << endl;
cin >> a[j];
}
};

int b[rd2] [st2];
for (k=1; k<=rd2; k++){
for (l=1; l<=st2; l++){
cout << "vveditb element b " << k << "_" << l << " = " << endl;
cin >> b[k][l];
}
};

cout << endl;
// умножение.
int t=0,z;
int C[j][t];
for (int j=0; j<rd2; j++){
while (t<st1){
for (int i=0; i<st1; i++){
z = a[t] * b[t] + z;
}
C[j][t] = z;
t++;
}
t=0;
}

// вывод результата
i=1;
j=1;
for (int i=1; i<=rd1; i++){
for (int j=1; j<=st2; j++){
cout << C[j];
}
cout << endl;
}
system("PAUSE");
return 0;
}




- если не трудно, посмотрите в чем может быть ошибка тут. Уже весь день с этой прогой сижу...

Спасибо: 0 
Цитата Ответить
Ответов - 70 , стр: 1 2 3 4 All [только новые]





ссылка на сообщение  Отправлено: 28.07.12 13:52. Заголовок: akira пишет: - а ка..


akira пишет:

 цитата:
- а как это прописать?
cout << b[k] << " " << [l];
так?



Одного пробела для вызова достаточно. то есть пробел можно заключить в одинарные кавычки.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:53. Заголовок: Сыроежка пишет: Одн..


Сыроежка пишет:

 цитата:
Одного пробела для вызова достаточно. то есть пробел можно заключить в одинарные кавычки.


- можете пример показать?

Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:55. Заголовок: Сыроежка пишет: Это..


Сыроежка пишет:

Это тот же код, что вы сами привели


 цитата:
- а как это прописать?
cout << b[k] << ' ' << [l];
так?



Только пробел я поставил в одинарные кавычки. Разница в том, что когда используются одинарные кавычки, то это - один символ. А когда используются двойные кавычки - это это символьный массив, состоящий из символа пробела и завершающего символьного нуля. Только и всего.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:56. Заголовок: Сыроежка пишет: Тол..


Сыроежка пишет:

 цитата:
Только пробел я поставил в одинарные кавычки. Разница в том, что когда используются одинарные кавычки, то это - один символ. А когда используются двойные кавычки - это это символьный массив, состоящий из символа пробела и завершающего символьного нуля. Только и всего.


- ошибку пишет.

expected primary-expression before '[' token

Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:57. Заголовок: У меня в примере, гд..


У меня в примере, где написал эту функцию, все есть. Скопируй оттуда вывод. В данном же случае ругается на на последние непонятные фигурные скобки.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:58. Заголовок: Сыроежка пишет: Ско..


Сыроежка пишет:

 цитата:
Скопируй оттуда вывод


- я так и сделал.
суть в том, что если убрать эти << ' ' << то все нормально работает.

Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 13:59. Заголовок: akira пишет: - я та..


akira пишет:

 цитата:
- я так и сделал.
суть в том, что если убрать эти << ' ' << то все нормально работает.



У тебя синтаксически неправильная конструкция. Должно быть

cout << a[ i ][ j ] << ' ';


Таким образом должна выводиться строка элементов матрицы. После вывода строки пишешь

cout << endl;


Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 14:00. Заголовок: Сыроежка пишет: У т..


Сыроежка пишет:

 цитата:
У тебя синтаксически неправильная конструкция. Должно быть

cout << a[ i ][ j ] << ' ';


Таким образом должна выводиться строка элементов матрицы. После вывода строки пишешь

cout << endl;


- вышло.
каким оператором в функции можно осуществить выход?

Спасибо: 0 
Цитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 14:08. Заголовок: akira пишет: каким ..


akira пишет:

 цитата:
каким оператором в функции можно осуществить выход?



Если у функции тип возвращаемого значения объыявлен как void, то функция завершит свою работу по достижению закрывающейся фигурной скобки тела функции. Либо можно вставить предложение return; Но оно будет просто тлишним, если логика выполнения функции достигает закрывающейся фигурной скобки.

Спасибо: 0 
ПрофильЦитата Ответить



ссылка на сообщение  Отправлено: 28.07.12 14:09. Заголовок: Сыроежка пишет: Есл..


Сыроежка пишет:

 цитата:
Если у функции тип возвращаемого значения объыявлен как void, то функция завершит свою работу по достижению закрывающейся фигурной скобки тела функции. Либо можно вставить предложение return; Но оно будет просто тлишним, если логика выполнения функции достигает закрывающейся фигурной скобки.


- я уже сам справился. сделал через return возвращение к началу программы.

Спасибо: 0 
Цитата Ответить
Ответов - 70 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 2
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет