Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
49 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 57

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

17.11.2010, 18:31. Показов 1270. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста, исправьте код, не пойму почему ругается на глобальные объекты...
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);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.11.2010, 18:31
Ответы с готовыми решениями:

с2079 и с2228 ошибки при компиляции ниже участок кода, с которым праблема и скрины ошибки
// ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ bool game = true; // КЛАССЫ class Me; class mob { public: void showHpMp()

Ошибка памяти при выполнении, при компиляции не выводит ошибки
ПОмогите плс программа вводит строку символов до точки, а после вычисляет процент согласных в этой строке и выводит их в обратном порядке....

Ошибки при компиляции
struct XYZ { double x, y, z; } double sqr(double x) {return x * x; } void CalcNormals(XYZ a, XYZ b, XYZ c, XYZ&amp; n) { ...

11
 Аватар для Rexer
167 / 166 / 46
Регистрация: 10.10.2010
Сообщений: 725
17.11.2010, 18:37
а разве не const int надо писать вместо int const?
0
Мастер кустарных методов
 Аватар для LEQADA
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
17.11.2010, 18:42
У тебя
Float sum;
int n;
Ты хочешь проверить их на равность. Поэтому компилятор и ругается.
И вроде ф-ция main должна возвратить какое-то значение...

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

Не по теме:

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

0
49 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 57
18.11.2010, 19:31  [ТС]
Кто-нибудь хоть пробовал компилировать? =)
Там в другом дело, а не в sum.
0
Мастер кустарных методов
 Аватар для LEQADA
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
18.11.2010, 19:39
Компилятор ругался именно на сравнение в if-е переменной типа float.
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
18.11.2010, 19:40
Компилируется нормально, ругается линковщик - я так понимаю, что надо как-то сказать, что реализация в другом файле находится.
0
Мастер кустарных методов
 Аватар для LEQADA
232 / 227 / 17
Регистрация: 09.11.2010
Сообщений: 680
18.11.2010, 19:43
У меня GCC под Windows. Какой компилятор используете вы?
0
49 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 57
18.11.2010, 21:08  [ТС]
У меня MS Visual Studio 2010 ругается что глобальные переменные уже определены в function_1
хотя я везде пишу extern и ещё пишет на один неразрешенный элементы в output
0
481 / 119 / 17
Регистрация: 30.09.2010
Сообщений: 473
18.11.2010, 22:06
Цитата Сообщение от 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
.
1
49 / 0 / 0
Регистрация: 17.10.2010
Сообщений: 57
21.11.2010, 21:15  [ТС]
Млин, теперь компилируется, а потом не работает, останавливается по ходу работы в отладке =)
Составить программу, которая получает матрицу В размером 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 минут
Неужели никто не может помочь??? Пожалуйста помогите...
0
s_ilmira
28.11.2010, 07:29
Ребят, помогите пожалуйста. Недавно стала изучать С++. Установила Borland Bilder, но так как мне пока нужно только консольное преложение, решила поставить че нить попроще. Поставила wxDev-C++ 7.3.1. Компилирую простенькую прогу, компиляция проходит успешно, но при запуске этой, уже откомпилированной проги, выскакивает надпись: Проект не откомпилирован. Что с этим делать?
P.S. Прошу прощения, за глупые вопросы
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.11.2010, 07:29
Помогаю со студенческими работами здесь

Ошибки при компиляции
Есть программа: #include &lt;stdio.h&gt; #include &lt;io.h&gt; #include &lt;iostream.h&gt; #define MEN 2 #define LF 10 #define SPACE 32 ...

Ошибки при компиляции
Добрый день, задача : Занести в массив значения функции f (x, y) = x − y , 0 ≤ x ≤ 20 , 0 ≤ y ≤ 10 и вывести его на экран ...

Ошибки при компиляции
#include &lt;vcl.h&gt; #pragma hdrstop #include &quot;CDPlayer_.h&quot; #pragma package(smart_init) #pragma resource &quot;*.dfm&quot; TForm1 *Form1; ...

Ошибки при компиляции
я учусь по книге &quot;С++ для чайников Стефан Р. Девис 4-е издание&quot; и работаю в Dev C++ вот программа: // FunctionDemo —...

Ошибки при компиляции
Ошибки: строки 25, 25, 27, 32. Условие задачи: Дан текст, состоящий из предложений, разделяемых точками. Напишите программу,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru