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

Не могу исправить ошибку(error C2137: empty character constant) - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.82
Maskit_Jr
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 3
18.12.2012, 02:40     Не могу исправить ошибку(error C2137: empty character constant) #1
задание найти с помощью функции максимальный и минимальный элемент массива размерностью m*n и вывести на экран

ошибка одна: error C2137: empty character constant
Error executing cl.exe.
(в коде помечена так ==> <==)

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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
#include<time.h>
#include<stdlib.h>
 
void allocMemory(int m, int n, double **&Q);
void fillRandomMatrix(int m, int n, double **Q);
void findMax(int m, int n, int &mi, int &mj, double **Q);
void findMin(int m, int n, int &mi, int &mj, double **Q);
void outputMatrix(int m, int n, double **Q);
void freeMemory(int m, int n, double **Q);
 
int main()
{
    srand(time(NULL));
 
    int m, n, i, j;
    double **Q;
    Q=0;
 
    cout<<"n= ";
    cin>>n;
    cout<<endl;
    cout<<"m= ";
    cin>>m;
    cout<<endl;
    allocMemory(m, n, Q);
    fillRandomMatrix(m, n, Q);
    
    findMax(m, n, i, j, Q);
 
    cout<<"Maximal elements: ";
    cout<<endl;
    cout<<Q[i][j];
    cout<<endl;
 
    findMin(m, n, i, j, Q);
 
    cout<<"Minimal elements: ";
    cout<<endl;
    cout<<Q[i][j];
    cout<<endl;
 
    outputMatrix(m, n, Q);
    freeMemory(m, n, Q);
    return 0;
}
 
void allocMemory(int m, int n, double **&Q)
{
    int i;
    Q=new double*[m];
    for(i=0; i<m; i++)
    {
        Q[i]=new double[n];
    }
}
void fillRandomMtrix(int m, int n, double **Q)
{
    int i, j, a;
    for (i=0; i<m; i++)
    {
        for (j=0; j<n; j++)
        {
            a=rand();
            if(a)
            {
                Q[i][j]=rand()%100;
            }
        }
    }
}
 
void findMax(int m, int n, int &mi, int &mj, double **Q)
{
    int i, j;
    mi=0;
    mj=0;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            if(Q[i][j]>Q[mi][mj])
            {
                mi=i;
                mj=j;
            }
        }
        cout<<endl;
    }
}
 
void findMin(int m, int n, int &mi, int &mj, double **Q)
{
    int i, j;
    mi=0;
    mj=0;
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            if(Q[i][j]<Q[mi][mj])
            {
                mi=i;
                mj=j;
            }
        }
        cout<<endl;
    }
}
void outputMatrix(int m, int n, double **Q)
{
    int i, j;
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        {
==>         cout<<setw(10)<<setprecision(3)<<Q[i][j]<<''; <==
        }
        cout<<endl;
    }
}
void freeMemory(int m, int n, double **Q)
{
    int i;
    for(i=0; i<m; i++)
    {
        delete[] Q[i];
    }
    delete[] Q;
}
компилятор видит только эту ошибку, но есть подозрение что там я намудрил нормально так. помогите пожалуйста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2012, 02:40     Не могу исправить ошибку(error C2137: empty character constant)
Посмотрите здесь:

C++ [Warning] multi-character character constant
[BCC32 Warning] Unit1.cpp(28): W8098 Multi-character character constant C++ Builder
Error: Unresolved external 'character::character(int)' C++
multi-character character constant C++
C++ error LNK2019: ссылка на неразрешенный внешний символ(не могу исправить ошибку)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 02:45     Не могу исправить ошибку(error C2137: empty character constant) #2
C++
1
cout<<setw(10)<<setprecision(3)<<Q[i][j]<<'';
У Вас пустой символ.
Maskit_Jr
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 3
18.12.2012, 02:59  [ТС]     Не могу исправить ошибку(error C2137: empty character constant) #3
Цитата Сообщение от Croessmah Посмотреть сообщение
C++
1
cout<<setw(10)<<setprecision(3)<<Q[i][j]<<'';
У Вас пустой символ.
и какойже символ туда вписать?
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11845 / 6824 / 771
Регистрация: 27.09.2012
Сообщений: 16,919
Записей в блоге: 2
Завершенные тесты: 1
18.12.2012, 03:05     Не могу исправить ошибку(error C2137: empty character constant) #4
Цитата Сообщение от Maskit_Jr Посмотреть сообщение
и какойже символ туда вписать?
а какой Вам там нужен? Пробел?
C++
1
''//у Вас нет пробела между кавычками
C++
1
' '//А тут есть
Maskit_Jr
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 3
18.12.2012, 15:14  [ТС]     Не могу исправить ошибку(error C2137: empty character constant) #5
но теперь появляются такие две ошибки...

main.obj : error LNK2001: unresolved external symbol "void __cdecl fillRandomMatrix(int,int,double * *)" (?fillRandomMatrix@@YAXHHPAPAN@Z)
Debug/modul.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Добавлено через 11 часов 32 минуты
нашёл ошибку.
здесь void fillRandomMatrix(int m, int n, double **Q)
Yandex
Объявления
18.12.2012, 15:14     Не могу исправить ошибку(error C2137: empty character constant)
Ответ Создать тему
Опции темы

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