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

Ошибки при компиляции - C++

Восстановить пароль Регистрация
 
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
17.11.2010, 18:31     Ошибки при компиляции #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
#include <iostream>
using namespace std;
int const n=5;
int const m=5;
bool function_1 (float B[n][m]);
void function_2 (float B[n][m] , int, int);
void input (float B[n][m] );
void output (float B[n][m], float newB[n][m]);
bool repeat (void);
void main (void)
{
    do
    {
    int i, j;
        cout << "Input i: ";
                cin >> i;
        cout << "Input j: ";
                cin >> j;
float B[n][m];
input(B);
  
    if (function_1(B))
        function_2(B, i, j);
    else 
        cout << "There is no nessesity to create a new file";
    } while (repeat());
}
bool repeat (void)
{
    char symbol;
    cin >> symbol;
    if ((char)tolower(symbol) == 'y')
        return 1;
    else 
        return 0;
}
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
#include <iostream>
using namespace std;
extern int const n=5;
extern int const m=5;
void input (float B[n][m])
{
    cout <<  "Input elements of file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cin >> B[str][stl];
        }
    }
}
void ouput (float B[n][m], float newB[n][m])
{
    cout <<  "\nn Old file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << B[str][stl];
        }
    }
    cout << "\n\nNew file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << newB[str][stl];
        }
    }
}
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
extern int const n=5;
extern int const m=5;
bool function_1 (float B[n][m])
{
    float sum, count=0;
    for (int str=0; str<n; str++)
    {
        sum=0;
        if ((str+1)%2==0)
        {
        for (int stl=0; stl<m; stl++)
        {
            sum+=B[str][stl];
        }
        if (sum>0)
            count++;
        }
    }
if (n%2==0)
{
    if (sum==n/2)
        return 1;
}
 
else 
{
    if(sum==(n-1)/2)
        return 1;
    else 
        return 0;
}
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
extern int const n=5;
extern int const m=5;
void output (float B[n][m], float newB[n][m]);
void function_2 (float B[n][m], int i, int j)
{
    float newB[n][m], temp;
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            newB[str][stl] = B[str][stl];
        }
    }
 
    for (int stl=0; stl<m; stl++)
        {
            temp = newB[i][stl];
            newB[i][stl]=newB[j][stl];
            newB[j][stl]=temp;
        }
    output(B,newB);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2010, 18:31     Ошибки при компиляции
Посмотрите здесь:

Ошибки при компиляции C++
C++ Ошибки при компиляции
Ошибки при компиляции C++
Ошибки при компиляции C++
Ошибки при компиляции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rexer
 Аватар для Rexer
151 / 150 / 19
Регистрация: 10.10.2010
Сообщений: 691
17.11.2010, 18:37     Ошибки при компиляции #2
а разве не const int надо писать вместо int const?
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 18:42     Ошибки при компиляции #3
У тебя
Float sum;
int n;
Ты хочешь проверить их на равность. Поэтому компилятор и ругается.
И вроде ф-ция main должна возвратить какое-то значение...

Добавлено через 4 минуты
Точнее компилятор не хочет использовать "==" для переменной типа "float".
alex_x_x
17.11.2010, 18:42
  #4

Не по теме:

Цитата Сообщение от Rexer Посмотреть сообщение
а разве не const int надо писать вместо int const?
можно и так и так

z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
18.11.2010, 19:31  [ТС]     Ошибки при компиляции #5
Кто-нибудь хоть пробовал компилировать? =)
Там в другом дело, а не в sum.
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
18.11.2010, 19:39     Ошибки при компиляции #6
Компилятор ругался именно на сравнение в if-е переменной типа float.
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
18.11.2010, 19:40     Ошибки при компиляции #7
Компилируется нормально, ругается линковщик - я так понимаю, что надо как-то сказать, что реализация в другом файле находится.
LEQADA
Мастер кустарных методов
 Аватар для LEQADA
227 / 222 / 9
Регистрация: 09.11.2010
Сообщений: 680
18.11.2010, 19:43     Ошибки при компиляции #8
У меня GCC под Windows. Какой компилятор используете вы?
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
18.11.2010, 21:08  [ТС]     Ошибки при компиляции #9
У меня MS Visual Studio 2010 ругается что глобальные переменные уже определены в function_1
хотя я везде пишу extern и ещё пишет на один неразрешенный элементы в output
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
18.11.2010, 22:06     Ошибки при компиляции #10
Цитата Сообщение от LEQADA Посмотреть сообщение
У меня GCC под Windows. Какой компилятор используете вы?
Visual C++ 8.0, консольное приложение win32.

Добавлено через 58 секунд
Цитата Сообщение от z.a.m Посмотреть сообщение
У меня MS Visual Studio 2010 ругается что глобальные переменные уже определены в function_1
хотя я везде пишу extern
Убери extern при описании констант - оно на определения не действует.

Добавлено через 1 минуту
Цитата Сообщение от z.a.m Посмотреть сообщение
и ещё пишет на один неразрешенный элементы в output
Аналогично, пока не понял почему

Добавлено через 5 минут
Нашел - у тебя во втором файле вместо output написано
ouput
.
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
21.11.2010, 21:15  [ТС]     Ошибки при компиляции #11
Млин, теперь компилируется, а потом не работает, останавливается по ходу работы в отладке =)
Составить программу, которая получает матрицу В размером m *n и два числа i<m и j<m. Если матрица в каждой четной строке имеет положительную сумму элементов, то программа формирует новую матрицу, меняя местами элементы строки с номером i на элементы строки с номером j исходной матрицы В.
Вот задание, вот исправленные коды
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
#include <iostream>
using namespace std;
int const n=5;
int const m=5;
bool function_1 (float B[n][m]);
void function_2 (float B[n][m] , int, int);
void input (float B[n][m] );
void output (float B[n][m], float newB[n][m]);
bool repeat (void);
void main (void)
{
    do
    {
    int i, j;
        cout << "Input i: ";
                cin >> i;
        cout << "Input j: ";
                cin >> j;
float B[n][m];
input(B);
  
    if (function_1(B))
        function_2(B, i, j);
    else 
        cout << "There is no nessesity to create a new file";
    } while (repeat());
}
bool repeat (void)
{
    char symbol;
    cin >> symbol;
    if ((char)tolower(symbol) == 'y')
        return 1;
    else 
        return 0;
}
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
#include <iostream>
using namespace std;
int const n=5;
int const m=5;
void input (float B[n][m])
{
    cout <<  "Input elements of file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cin >> B[str][stl];
        }
    }
}
void output (float B[n][m], float newB[n][m])
{
    cout <<  "\nn Old file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << B[str][stl] << "\n";
        }
    }
    cout << "\n\nNew file\n";
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            cout << newB[str][stl] << "\n";
        }
    }
}
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
int const n=5;
int const m=5;
bool function_1 (float B[n][m])
{
    float sum, k;
    int count=0;
    for (int str=0; str<n; str++)
    {
        sum=0;
        if ((str+1)%2==0)
        {
        for (int stl=0; stl<m; stl++)
        {
            sum+=B[str][stl];
        }
        if (sum>0)
            count++;
        }
    }
if (n%2==0)
{
    if (count==n/2)
        return 1;
}
 
else 
{
    if(count==(n-1)/2)
        return 1;
    else 
        return 0;
}
 
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
int const n=5;
int const m=5;
void output (float B[n][m], float newB[n][m]);
void function_2 (float B[n][m], int i, int j)
{
    float newB[n][m], temp;
    for (int str=0; str<n; str++)
    {
 
        for (int stl=0; stl<m; stl++)
        {
            newB[str][stl] = B[str][stl];
        }
    }
 
    for (int stl=0; stl<m; stl++)
        {
            temp = newB[i][stl];
            newB[i][stl]=newB[j][stl];
            newB[j][stl]=temp;
        }
    output(B,newB);
}
Добавлено через 23 часа 14 минут
HELP PLZ!!!

Добавлено через 15 часов 28 минут
HELP HELP помогите пожалуйста

Добавлено через 6 часов 0 минут
Исправьте пожалуйста последний код, завтра лабу сдавать... =(

Добавлено через 5 часов 12 минут
Неужели никто не может помочь??? Пожалуйста помогите...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2010, 07:29     Ошибки при компиляции
Еще ссылки по теме:

C++ Ошибки при компиляции
C++ Ошибка памяти при выполнении, при компиляции не выводит ошибки
Ошибки при компиляции C++

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

Или воспользуйтесь поиском по форуму:
s_ilmira
Сообщений: n/a
28.11.2010, 07:29     Ошибки при компиляции #12
Ребят, помогите пожалуйста. Недавно стала изучать С++. Установила Borland Bilder, но так как мне пока нужно только консольное преложение, решила поставить че нить попроще. Поставила wxDev-C++ 7.3.1. Компилирую простенькую прогу, компиляция проходит успешно, но при запуске этой, уже откомпилированной проги, выскакивает надпись: Проект не откомпилирован. Что с этим делать?
P.S. Прошу прощения, за глупые вопросы
Yandex
Объявления
28.11.2010, 07:29     Ошибки при компиляции
Ответ Создать тему
Опции темы

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