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

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

Войти
Регистрация
Восстановить пароль
 
akira_akai
17 / 3 / 1
Регистрация: 14.12.2010
Сообщений: 77
#1

Ошибка в синтаксисе. - C++

17.11.2011, 01:56. Просмотров 431. Ответов 4
Метки нет (Все метки)

Знаю, и так всех уже достали эти матрицы, и мой вопрос может быть очень глупым, но все же. Вот исходник, который я написал:
Код
#include <iostream>
#include <conio.h>
using namespace std;
 

int main() {
      int rd1 = 0, st1 = 0, rd2 = 0, st2 = 0;
      char ch;
      // введення розширення першої матриці
      cout << "Vveditb rozmirnistb pershoi Matruci: ";
      cin >> rd1;
      cin >> st1;
      // введення розширення другої матриці
      cout << "Vveditb rozmirnistb dryhoi matruci: ";
      cin >> rd2;
      cin >> st2;
      // вихід з программи, якшо кількість стовбців першої матриці не співпадає з кількістю рядків другої. 
      if (st1 != rd2) {
            cout << "\nMatruc9 ne ob4usljuets9!";
            getch();
            return 0;
      }
      int a[rd1][st1];
      for (int i; i = rd1; i++);
      for (int j; j = st1; j++);
      cout << "vveditb element a" << i+1 << "_" << j+1 << "=";
      cin >> a [i][j];
      
      int b[rd2] [st2];
      for (int k; k = rd2; k++);
      for (int l; l = st2; l++);
      cout << "vveditb element b" << k+1 << "_" << l+1 << "=";
      cin >> b [k][l];
      
      cout << endl;
      }
- это только начало. но у меня возникла проблема с этой строчкой:
Код
cout << "vveditb element a" << i+1 << "_" << j+1 << "=";
- можете сказать где тут ошибка. если не трудно?
цель программы - умножение двух матриц разных размерностей.
видел, таких программ полно на форуме, но хочется написать свою собственноручно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 01:56     Ошибка в синтаксисе.
Посмотрите здесь:

Программа без ";" в синтаксисе C++
C++ Найти ошибку в синтаксисе
Ошибки в синтаксисе C++
указатели ошибка в синтаксисе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Serejke_qq
150 / 108 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
17.11.2011, 02:02     Ошибка в синтаксисе. #2
Ты тело цикла закрыл точкой с запятой, плюс ко всему нету фигурных скобочек для for'a

C++
1
2
3
4
5
6
7
    
      for (int i; i = rd1; i++)
            for (int j; j = st1; j++)
            {
                   cout << "vveditb element a" << i+1 << "_" << j+1 << "=";
                   cin >> a [i][j];
            }
Аналогично для b..
И что-то у вас с условием.. может быть :
C++
1
2
for (int i; i < rd1; i++)
            for (int j; j < st1; j++)
akira_akai
17 / 3 / 1
Регистрация: 14.12.2010
Сообщений: 77
17.11.2011, 02:09  [ТС]     Ошибка в синтаксисе. #3
Serejke_qq, - спасибо, я уже с основной проблемой справился.
но потом не идет ввод элементов матрицы. то есть ставлю размерность а дальше все.
это из-за условия?
Serejke_qq
150 / 108 / 9
Регистрация: 06.07.2011
Сообщений: 224
Завершенные тесты: 2
17.11.2011, 02:11     Ошибка в синтаксисе. #4
ну скорее всего)
akira_akai
17 / 3 / 1
Регистрация: 14.12.2010
Сообщений: 77
17.11.2011, 12:04  [ТС]     Ошибка в синтаксисе. #5
Serejke_qq, - хмммм, что-то надо думать...

Добавлено через 10 минут
- а можно тогда этот ввод элементов сделать каким-нить другим способом?

Добавлено через 9 часов 42 минуты
- вывод элементов сделал. но теперь умножение не идет. кому не трудно, посмотрите в чем проблема (оно множит поэлементно):
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
#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;
      // ввод расширения второй матрицы
      cout << "Vveditb rozmirnistb dryhoi matruci: ";
      cin >> rd2;
      cin >> st2;
      // выход при не выполнении правила.
      if (st1 != rd2) {
            cout << "\nMatruc9 ne ob4usljuets9!";
            getch();
            return 0;
      }
      // ввод матриц
      int a[rd1][st1];
      for (int i = 1; i<=rd1; i++ ){
            for (int j = 1; j<=st1; j++){
                  cout << "vveditb element a " << i << "_" << j << " = " << endl;
                  cin >> a[i][j];
                  }
                  }
      
      int b[rd2] [st2];
      for (int k = 1; k<=rd2; k++){
             (int l =1; l<=st2; l++){
                  cout << "vveditb element b " << k << "_" << l << " = " << endl;
                  cin >> b[k][l];
                  }
            }
      
      cout << endl;
// умножение
for(int i = 0; i < N; i++)
    for(int j = 0; j < N; j++){
      c[i][j] = 0;
      for(int k = 0; k < N; k++)
        c[i][j] += a[i][k] *b[k][j]
        }
   }
// вывод результата
i=1;
j=1;
while (i<=rd1){
      while (j<=st2){
            cout << c[i][j];
            j++;
            }
      cout << endl;
      j=1;
      i++;
      }
system("PAUSE");
return 0;
}
Yandex
Объявления
17.11.2011, 12:04     Ошибка в синтаксисе.
Ответ Создать тему
Опции темы

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