1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Вопрос: Одномерный массив, ошибки компилятора

Тема в разделе "Вопросы новичков и не только", создана пользователем navit, 8 дек 2010.

Статус темы:
Закрыта.
  1. navit

    navit Гость

    Репутация:
    0
    Подскажите где у меня ошибка, программа не компилируется?

    Дан одномерный массив, состоящий из N целочисленных элементов.
    Найти максимальный отрицательный элемент.
    Вычислить сумму отрицательных элементов массива

    Код:

    #include <algorithm>
    #include <numeric>

    bool comp(int i, int j)
    {
    i = i>=0?INT_MIN:i;
    j = j>=0?INT_MIN:j;
    return i<j;
    }

    int plus(int i, int j)
    {
    i = i<0?i:0;
    j = j<0?j:0;
    return i+j;
    }

    void work()
    {
    const int N = 10;
    int arr[N] = {9, -3, 2, -5, 4, 1, -6, 8, -7, 0};
    int max = *std::max_element(arr, arr+N, comp);
    int sum = 0;
    sum = std::accumulate(arr, arr+N,sum,plus);
    }
     
  2. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Если не компилируется программа, то показывай ошибки компилятора, а не условие задания.
     
  3. navit

    navit Гость

    Репутация:
    0
    При компилиции выходят такие ошибки:
    Ошибка 1 error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup MSVCRTD.lib

    Ошибка 2 fatal error LNK1120: 1 неразрешенных внешних элементов
     
  4. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    А где в программе функция main ?
     
  5. navit

    navit Гость

    Репутация:
    0
    Эти ошибки потомучто функции main не хватает?
     
  6. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Код:
    #include <iostream.h>
    
    #define		N		10
    
    int			arr[N]	= { 9, -3, 2, -5, 4, 1, -6, 8, -7, 0 };
    
    int main()
    {
    int	summa = 0;
    int	max_neg = -100000;
    
    for ( int i = 0; i < N; i++ ) {
    if ( arr[i] < 0 ) {
    if ( arr[i] > max_neg ) max_neg = arr[i];
    summa += arr[i];
    }
    }
    
    cout << "Maksimalnyj otricatelnyj element = " << max_neg << endl;
    cout << "Summa otricatelnyh elementov = " << summa << endl;
    
    return 0;
    }
     
  7. navit

    navit Гость

    Репутация:
    0
    Я щас скопировал этот код и попробывал скомпилировать,у меня вышла такая ошибка:
    Ошибка 1 fatal error C1083: Не удается открыть файл include: iostream.h: No such file or directory
     
  8. lazybiz

    lazybiz Well-Known Member

    Репутация:
    0
    Регистрация:
    3 ноя 2010
    Сообщения:
    1.339
    Симпатии:
    0
    Попробуй вот этот вариант:
    Код:
    #include <iostream>
    
    using namespace std;
    
    #define		N		10
    
    int			arr[N]	= { 9, -3, 2, -5, 4, 1, -6, 8, -7, 0 };
    
    int main()
    {
    int	summa = 0;
    int	max_neg = -100000;
    
    for ( int i = 0; i < N; i++ ) {
    if ( arr[i] < 0 ) {
    if ( arr[i] > max_neg ) max_neg = arr[i];
    summa += arr[i];
    }
    }
    
    cout << "Maksimalnyj otricatelnyj element = " << max_neg << endl;
    cout << "Summa otricatelnyh elementov = " << summa << endl;
    
    return 0;
    }
     
  9. navit

    navit Гость

    Репутация:
    0
    Заработало! Спасибо за помощь ;)
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей