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

Найдите в коде ошибки - C++

Восстановить пароль Регистрация
 
Studentka
3 / 3 / 0
Регистрация: 10.12.2009
Сообщений: 108
28.10.2010, 20:41     Найдите в коде ошибки #1
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
 
#include <stdio.h> 
#include <conio.h>
//-------------------
#define M 3     //задаем размерности твоих матриц через константы
#define N 3
//------------------------
int A[M][N];    //инициализируем двумерные массивы
INT BB[N][M]
//-----------------
int enter(int mas[M][N]);//функция ввода
int print(int mas[M][N]);//функция печати
//---------------------------
int enter(int mas[M][N])
{
        printf("Enter elements of Matrix:\n");
        for(int i = 0; i < M; i++)
        {
                for(int j = 0; j < N; j++)
                {
                        printf("mas[%i][%i]=", i, j);//заполняем массив
                        scanf("%i",&mas[i][j]);
                }
        }
        return 0;
}
//----------------------------------
int print(int mas[M][N])
{
        printf("Matrix:\n");
        for(int i = 0; i < M; i++)
        {
                for(int j = 0; j < N; j++)
                {
                        printf("%i ", mas[i][j]);//выводим массив
                                                
                }
                printf("\n");
        }
        return 0;
}
//-------------------------------
//transponirovannaja matrica
int transponir(int mas[M][N])
{   
  
    int i,j;
    int BB[M][N];
       for (i=0; i<M; i++)
       {
        for(j=0;j<N;j++)
        {
            BB[j][i]=mas[i][j];
         printf("Posle transponirovania matritsa imeet vid: \n\n\n");
        for (i=0;i<M;i++)
        {
            for (j=0;j<N;j++)
            printf( BB[i][j]);
        printf("\n\n");
        }
 
        }
    }
}
    
//----------------------------------
int main()
{
      
        printf("Matrix A: \n");
        enter(A);
        print(A);
        
        printf("\n");
        transponir(BB);
Добавлено через 4 минуты
Нужно найти сумму начальной матрицы и транспонированной(суммировать с помощью процедуры). Сумму я еще не считала, ошибки уже в транспонировании появились
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 20:41     Найдите в коде ошибки
Посмотрите здесь:

C++ Найдите ошибки
C++ Найдите ошибку в коде
C++ Найдите ошибки
C++ Найдите ошибки
Найдите ошибки C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.10.2010, 20:42     Найдите в коде ошибки #2
судя по
#define M 3 //задаем размерности твоих матриц через константы
вам написали этот код) Особо не вникал, добавьте в самом конце
C++
1
2
return 0;
}
если после этого проблема не решится, напишите более подробно, что именно не так.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 20:45     Найдите в коде ошибки #3
Ошибка как минимум тут

C++
1
int BB[N][M];
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.10.2010, 20:47     Найдите в коде ошибки #4
ОШИБКИ УЖЕ В ТРАНСПОНИРОВАНИИ ПОЯВИЛИСЬ
очевидно выводилось много лишнего, попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int transponir(int mas[M][N])
{   
  
    int i,j;
    int BB[M][N];
       for (i=0; i<M; i++)
        for(j=0;j<N;j++)
            BB[j][i]=mas[i][j];
         printf("Posle transponirovania matritsa imeet vid: \n\n\n");
        for (i=0;i<M;i++)
            for (j=0;j<N;j++)
            printf( BB[i][j]);
        printf("\n\n");
}
и уберите капс!!!

Добавлено через 1 минуту
Цитата Сообщение от Lavroff Посмотреть сообщение
Ошибка как минимум тут

C++
1
int BB[N][M];
да и это тоже)
Studentka
3 / 3 / 0
Регистрация: 10.12.2009
Сообщений: 108
28.10.2010, 20:52  [ТС]     Найдите в коде ошибки #5
НЕ МНЕ ЛИЧНО. В НЭТЕ ПО КУСОЧКАМ СОБИРАЛА.
что-то с декларированием transponir

Добавлено через 4 минуты
как и где правильно объявить BB ?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 20:53     Найдите в коде ошибки #6
Рабочий код. Логику не правил

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
#include <stdio.h> 
#include <conio.h>
//-------------------
#define M 3     //задаем размерности твоих матриц через константы
#define N 3
//------------------------
int A[M][N];    //инициализируем двумерные массивы
int BB[N][M];
//-----------------
int enter(int mas[M][N]);//функция ввода
int print(int mas[M][N]);//функция печати
//---------------------------
int enter(int mas[M][N])
{
        printf("Enter elements of Matrix:\n");
        for(int i = 0; i < M; i++)
        {
                for(int j = 0; j < N; j++)
                {
                        printf("mas[%i][%i]=", i, j);//заполняем массив
                        scanf("%i",&mas[i][j]);
                }
        }
        return 0;
}
//----------------------------------
int print(int mas[M][N])
{
        printf("Matrix:\n");
        for(int i = 0; i < M; i++)
        {
                for(int j = 0; j < N; j++)
                {
                        printf("%i ", mas[i][j]);//выводим массив
                                                
                }
                printf("\n");
        }
        return 0;
}
//-------------------------------
//transponirovannaja matrica
int transponir(int mas[M][N])
{   
  
    int i,j;
        //int BB[M][N];
       for (i=0; i<M; i++)
       {
        for(j=0;j<N;j++)
        {
            BB[j][i]=mas[i][j];
        }
       }
         printf("Posle transponirovania matritsa imeet vid: \n\n\n");
        for (i=0;i<M;i++)
        {
            for (j=0;j<N;j++)
            printf("%d", BB[i][j]);
        printf("\n\n");
        }
       return 0;
}
    
//----------------------------------
int main()
{
      
        printf("Matrix A: \n");
        enter(A);
        print(A);
        
        printf("\n");
        transponir(A);
        return 0;
}
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
28.10.2010, 20:54     Найдите в коде ошибки #7
Цитата Сообщение от Studentka Посмотреть сообщение
как и где правильно объявить BB ?
там же, только так, как Lavroff показал. Вы вообще знаете, что такое транспортирование матрицы?
Studentka
3 / 3 / 0
Регистрация: 10.12.2009
Сообщений: 108
28.10.2010, 20:58  [ТС]     Найдите в коде ошибки #8
Цитата Сообщение от Kastaneda Посмотреть сообщение
там же, только так, как Lavroff показал. Вы вообще знаете, что такое транспортирование матрицы?
естественно знаю.строки соответственно заменяются столбцами(поворот)
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 21:06     Найдите в коде ошибки #9
Studentka, Угу. И зачем тогда вы посылали туда пустую матрицу из мейна?
Studentka
3 / 3 / 0
Регистрация: 10.12.2009
Сообщений: 108
28.10.2010, 21:43  [ТС]     Найдите в коде ошибки #10
если надо в конце сложить матрицы(начальную и транспонированную) , значит изначально она квадратная. надо оставить только одну размерность . или же n=m
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.10.2010, 21:45     Найдите в коде ошибки
Еще ссылки по теме:

C++ Найдите ошибки
Найдите ошибки C++
C++ Найдите ошибки

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.10.2010, 21:45     Найдите в коде ошибки #11
Studentka, Спасибо КЭП.
C++
1
       transponir(BB);
BB - заполнена нулями... ИИИ???
Yandex
Объявления
28.10.2010, 21:45     Найдите в коде ошибки
Ответ Создать тему
Опции темы

Текущее время: 16:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru