2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 12:24 


13/08/15
98
Здравствуйте! Имеется вот такое задание:
Изображение


Делаем первое задание (12.207. а) в Visual Studio и всё работает. Теперь нужно, чтобы оно заработало в программе NetBeans. Копирую туда и ужасаюсь: огромное количество ошибок, которых я не понимаю. Помогите, пожалуйста, я только начинаю изучать программирование. Вот код, который мы с товарищем настрадали в VS:

Код:
include <locale>
#include <iostream>
#include <ctime>
#include <iomanip>
using namespace std;

int main()
{

    setlocale(LC_ALL, "rus");
    srand(time(0));

    int N;
    int M;

    cout << "Введите N - количество строк" << endl;
    cin >> N; //Ввод количества строк массива
    cout << "Введите M - количество столбцов" << endl;
    cin >> M;//Ввод количества столбцов массива

    int **arr = new int*[N];//объявление массива

    for (int count = 0; count < N; count++)//выделение памяти под массив
        arr[count] = new int[M];

    for (int row = 0; row < N; row++) //заполнение элементами
    {
        for (int col = 0; col < M; col++)
        {
            cin>>arr[row][col];
        }
    }
    for (int row = 0; row < N; row++)
    {
        for (int col = 0; col < M; col++)
        {
            if ((arr[row][col]) % 2 == 1)
                arr[row][col] -= arr[N-1][col];
        }
    }
    cout << endl << "наш массив" << endl;
    for (int row = 0; row < N; row++)// вывод на экран
    {
        for (int col = 0; col < M; col++)
        {
            cout << setw(4) << arr[row][col];
        }
        cout << endl;
    }

    for (int count = 0; count < N; count++)
        delete[] arr[count];

    delete[] arr;

    system("pause");
    return 0;
}

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 12:42 
Заслуженный участник
Аватара пользователя


06/10/08
6422
У Вас потерялся # в начале.

something strange в сообщении #1215691 писал(а):
Копирую туда и ужасаюсь: огромное количество ошибок, которых я не понимаю. Помогите, пожалуйста, я только начинаю изучать программирование.
Приведите текст ошибок.

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 12:45 


13/08/15
98
Это я не скопировал сюда случайно, прошу прощения.
Текст ошибок:

Код:
main.c:10:18: locale: No such file or directory
main.c:11:20: iostream: No such file or directory
main.c:12:17: ctime: No such file or directory
main.c:13:19: iomanip: No such file or directory
main.c:14: error: parse error before "namespace"
main.c:14: warning: data definition has no type or storage class
main.c: In function `main':
main.c:19: error: `LC_ALL' undeclared (first use in this function)
main.c:19: error: (Each undeclared identifier is reported only once
main.c:19: error: for each function it appears in.)
main.c:25: error: `cout' undeclared (first use in this function)
main.c:25: error: `endl' undeclared (first use in this function)
main.c:26: error: `cin' undeclared (first use in this function)
main.c:30: error: `new' undeclared (first use in this function)
main.c:30: error: parse error before "int"
main.c:32: error: 'for' loop initial declaration used outside C99 mode
main.c:33: error: parse error before "int"
main.c:35: error: 'for' loop initial declaration used outside C99 mode
main.c:37: error: 'for' loop initial declaration used outside C99 mode
main.c:42: error: redefinition of 'row'
main.c:35: error: previous definition of 'row' was here
main.c:42: error: 'for' loop initial declaration used outside C99 mode
main.c:44: error: 'for' loop initial declaration used outside C99 mode
main.c:51: error: redefinition of 'row'
main.c:42: error: previous definition of 'row' was here
main.c:51: error: 'for' loop initial declaration used outside C99 mode
main.c:53: error: 'for' loop initial declaration used outside C99 mode
main.c:60: error: redefinition of 'count'
main.c:32: error: previous definition of 'count' was here
main.c:60: error: 'for' loop initial declaration used outside C99 mode
main.c:61: error: `delete' undeclared (first use in this function)
main.c:61: error: parse error before ']' token
main.c:63: error: parse error before ']' token
make[2]: *** [build/Debug/Cygwin-Windows/main.o] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 12:49 
Заслуженный участник
Аватара пользователя


06/10/08
6422
У Вас файл компилируется как программа на C, а не на C++. Возможно, хватит переименовать его из main.c в main.cpp.

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 12:51 
Заслуженный участник


28/04/09
1933
Также забыт заголовочный файл cstdlib, который скорее всего подключается в стандартной библиотеке vc++ в один из перечисленных в программе заголовочных файлов. Если подключить этот файл, компиляция проходит успешно с использованием g++ 7.1 и clang++ 4.0.0.

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 13:16 


13/08/15
98
Я пока ещё плохо понимаю разницу между С и С++ :-( Но вроде бы этот NetBeans как раз в С работает...

-- 11.05.2017, 17:18 --

EtCetera в сообщении #1215702 писал(а):
Если подключить этот файл, компиляция проходит успешно с использованием g++ 7.1 и clang++ 4.0.0.

Это что такое? Дополнительные пакеты? Вы говорите про компиляцию в NetBeans? Я в данный момент не за тем компьютером... Проверю вечером, спасибо!

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 15:08 
Заслуженный участник


28/04/09
1933
Ваш код написан на C++ (используются потоки ввода/вывода, new/delete).

something strange в сообщении #1215709 писал(а):
EtCetera в сообщении #1215702 писал(а):
Если подключить этот файл, компиляция проходит успешно с использованием g++ 7.1 и clang++ 4.0.0.

Это что такое? Дополнительные пакеты? Вы говорите про компиляцию в NetBeans?
Это компиляторы C++. NetBeans — всего лишь оболочка, IDE. В качестве компилятора у Вас скорее всего используется gcc/g++. Но это так, всего лишь телепатическая разминка с моей стороны. Вам лучше знать, что используется для сборки проекта (загляните в его настройки и настройки среды).

Также замечу, что код Ваш, хотя и использует возможности C++, но написан в "стиле C". Вместо обычных динамических массивов лучше использовать какой-нибудь контейнер стандартной библиотеки (например, std::vector) или специализацию умного указателя std::unique_ptr, поддерживающую работу с динамическими массивами. Для генерации псевдослучайных чисел лучше использовать возможности соответствующей библиотеки (заголовочный файл random). Код лучше разбивать на смысловые части, оформляемые в виде функций и/или методов классов, и т.д.

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение11.05.2017, 16:39 


13/08/15
98
Спасибо за помощь и за рекомендации! Мне это всё ещё предстоит освоить, это только моя вторая программа в жизни :D

-- 11.05.2017, 21:18 --

Не работает. Снова всё красным. Подключение файла этого не помогло...

-- 11.05.2017, 21:19 --

А как убрать отсюда эти возможности С++? Где они? Может в этом дело? Как сделать просто С?

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 00:42 
Заслуженный участник


31/12/05
1427
something strange в сообщении #1215749 писал(а):
Не работает. Снова всё красным. Подключение файла этого не помогло...
А файл из main.c в main.cpp переименовали?

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 08:41 


13/08/15
98
Файла main там нет вообще... Но есть файлы с расширением .cpp

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 16:27 
Заслуженный участник


31/12/05
1427
something strange в сообщении #1215893 писал(а):
Файла main там нет вообще... Но есть файлы с расширением .cpp
А это что?

Код:
main.c:10:18: locale: No such file or directory
main.c:11:20: iostream: No such file or directory
main.c:12:17: ctime: No such file or directory
main.c:13:19: iomanip: No such file or directory

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 18:10 


13/08/15
98
Не понимаю... В папке с программой нет файла с именем main... :shock:

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 20:01 
Заслуженный участник


31/12/05
1427
something strange в сообщении #1216025 писал(а):
Не понимаю... В папке с программой нет файла с именем main... :shock:
В какой папке? С какой программой? Посмотрите на экран и скажите имя текущего редактируемого файла. Оно вверху на активной закладке над окном редактора. На той, которая с желтенькой (по умолчанию) полоской.

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение12.05.2017, 20:15 


13/08/15
98
Dermo1.cpp

 Профиль  
                  
 
 Re: Нужна помощь с С++ и NetBeans
Сообщение13.05.2017, 01:27 
Заслуженный участник


31/12/05
1427
something strange в сообщении #1216058 писал(а):
Dermo1.cpp
Дайте скриншот, где открыт файл с этим именем и видны те сообщения об ошибках, о которых вы писали.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group