Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
1

непонятно ...подпрограмма возвращает true

23.04.2011, 16:54. Показов 1327. Ответов 19
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подпрограмма возвращает true, если все элементы массива отличны от нуля, и подсчитывает, сколько в нём отрицательных элементов. Применив её к массиву X и Y, вывести массив,где больше отрицательных элементов,а если их нет, вывести сообщение
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2011, 16:54
Ответы с готовыми решениями:

Подпрограмма не возвращает значение
Отрывок программы. Не возвращает значение pr (в подролграмме считает по-новому , но в соновной...

Функция всегда возвращает true
Привет. Помогите разобраться. Морской бой. Функция для ввода второй клетки. Сама функция: bool...

Тип bool возвращает 1,а не true
Задание: Даны числа A, B, C (число A не равно 0). Рассмотрев дискриминант D = B2 − 4·A·C,...

Подпрограмма: Написать функцию которая возвращает строку состоящую из первого и последнего слов...
написать функцию которая возвращает строку состоящую из первого и последнего слов после...

19
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 17:33  [ТС] 2
я не смогу.у меня голова пухнет от книжки Князева(((
0
141 / 110 / 30
Регистрация: 20.04.2011
Сообщений: 581
23.04.2011, 17:47 3
Ну, может от Князева и пухнет, не сталкивался. Попробуйте что-нибудь из
Р. Лафоре "ООП в С++" (несмотря на название, там не только ООП, а все с 0)
"С++ для Чайников"
Г. Шилдт "Справочник С++"
(в гугле все легко ищется)

Книги по программированию от русских авторов действительно не всегда пригодны для чтения.
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 17:53 4
Цитата Сообщение от dasha2702 Посмотреть сообщение
я не смогу.у меня голова пухнет от книжки Князева(((
А что за книжка Князева? Как полностью называется?
0
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 18:12  [ТС] 5
А.В.Князев "Основы программирования на языке С++"
0
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 18:16  [ТС] 6
Цитата Сообщение от Nubik756 Посмотреть сообщение
Ну, может от Князева и пухнет, не сталкивался. Попробуйте что-нибудь из
Р. Лафоре "ООП в С++" (несмотря на название, там не только ООП, а все с 0)
"С++ для Чайников"
Г. Шилдт "Справочник С++"
(в гугле все легко ищется)

Книги по программированию от русских авторов действительно не всегда пригодны для чтения.

у меня времени нету начитывать....в понедельник надо сдать её,а у меня температура блин((((
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 18:17 7
Цитата Сообщение от dasha2702 Посмотреть сообщение
А.В.Князев "Основы программирования на языке С++"
Ты не в МЭИ учишься? Он у нас программирование преподаёт)
0
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 18:18  [ТС] 8
Цитата Сообщение от Spickard Посмотреть сообщение
Ты не в МЭИ учишься? Он у нас программирование преподаёт)
ахаха))да там)))ток у меня Мамонтов преподаёт информатику(((
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 18:22 9
Сейчас напишу. Массив как реализоваться должен?
1
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 18:25  [ТС] 10
если б я знала((((я нифига в информатике не понимаю(((
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 18:59 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
37
38
39
40
41
42
43
#include <vcl.h>
#pragma hdrstop
#include <iostream.h>
 
bool MMass (int *m,int n, int *notr)
{
  *notr = 0;
 
  for (int i = 0; i < n; ++i)
   {
      if (m[i] == 0) return 0;
      if (m[i] < 0) *notr+=1;
   }
   return 1;
}
 
int main()
{
   int n = 0;
   int notr1=0;
   int notr2=0;
   int m1[20];
   int m2[20];
 
   cout << "Vvedite razmeri massivov";
   cin >> n;
 
   cout << "Vvedite elementi";
   for (int i = 0; i < n; ++i)
    cin >> m1[i];
 
   for (int i = 0; i < n; ++i)
    cin >> m2[i];
 
   if (MMass (m1, n, &notr1)) cout << "Vse elementi massiva 1 otlichni ot nulya"<<"\n";
   if (MMass (m2, n, &notr2)) cout << "Vse elementi massiva 2 otlichni ot nulya"<<"\n";
 
   if (notr1 == 0 && notr2 == 0)  cout << "Net otricatelnih elementov"<<"\n";
   if (notr1 > notr2) cout << "Bolshe otr elementov v massive 1"<<"\n";
   if (notr2 > notr1) cout << "Bolshe otr elementov v massive 2"<<"\n";
 
        return 0;
}
Вроде так

Добавлено через 1 минуту
Ещё вариант "если у них равное количество отрицательных элементов" забыл. Но тут вы и сами справитесь.
1
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 19:02  [ТС] 12
эмь....спасиб канеш....а куда надо втиснуть вот это

#pragma argsused
int main(int argc, char* argv[])

???
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 19:13 13
Цитата Сообщение от dasha2702 Посмотреть сообщение
эмь....спасиб канеш....а куда надо втиснуть вот это

#pragma argsused
int main(int argc, char* argv[])

???
Извините, а вы книжку того же Князева открывали вообще? У меня складывается впечатление что нет. Думаю прочитать 50-100 страниц основ (примерно столько страниц в этой книжке) не составит труда. А понимания "что для чего" прибавит значительно.
0
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 19:23  [ТС] 14
да читала я её всю....просто понять не могу куда это вставить....а без этого вроде прога не запустится.....
0
7 / 7 / 0
Регистрация: 07.04.2011
Сообщений: 25
23.04.2011, 19:24 15
Цитата Сообщение от dasha2702 Посмотреть сообщение
да читала я её всю....просто понять не могу куда это вставить....а без этого вроде прога не запустится.....
Первое в начале напиши, там где инклуды. А без второго заработает. (я в С++ Builder 6 проверял перед тем как вам отправить)
1
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 19:30  [ТС] 16
ух ты))круто)))пол дела сделано))
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.04.2011, 19:39 17
Лучший ответ Сообщение было отмечено как решение

Решение

Подпрограмма возвращает true, если все элементы массива отличны от нуля, и подсчитывает, сколько в нём отрицательных элементов.
Некорректно это... Плохо что преподы такие задания дают...

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
#include <vector>
#include <iostream>
#include <functional>
#include <algorithm>
 
bool isNotNull(const std::vector<int>& vec)
{
    return std::count(vec.begin(), vec.end(), 0) == 0;
}
 
size_t negateNumb(const std::vector<int>& vec)
{
    return std::count_if(vec.begin(), vec.end(), std::bind2nd(std::less<int>(), 0));
}
 
int main()
{
    std::vector<int> vec1((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    std::cin.clear();
    std::cin.get();
    std::vector<int> vec2((std::istream_iterator<int>(std::cin)), std::istream_iterator<int>());
    bool first = false;
    bool second = false;
    if(!isNotNull(vec1))
    {
       std::cout<< "Only null elements in vec1\n";
       first = true;
    }
    if(!isNotNull(vec2))
    {
       std::cout<< "Only null elements in vec2\n";
       second = true;
    }
    if(!first && !second)
    {
        const size_t firstCnt = negateNumb(vec1);
        const size_t secondCnt = negateNumb(vec2);
        if(firstCnt == 0)
        {
           std::cout<< "Only positive elements in vec1\n";
        }
        if(secondCnt == 0)
        {
           std::cout<< "Only positive elements in vec2\n";
        }
        if(firstCnt == secondCnt && firstCnt) 
        {
           std::cout<< "Equal\n";
           std::copy(vec1.begin(), vec1.end(), std::ostream_iterator<int>(std::cout, " "));
           std::cout<<'\n';
           std::copy(vec2.begin(), vec2.end(), std::ostream_iterator<int>(std::cout, " "));
           std::cout<<'\n';
        }
        else if(firstCnt != secondCnt && (firstCnt || secondCnt))
        {
            std::copy(firstCnt > secondCnt ? vec1.begin() : vec2.begin(), firstCnt > secondCnt ? vec1.end() : vec2.end(), std::ostream_iterator<int>(std::cout, " "));
            std::cout<<'\n';
        }
    }
    return 0;
}
3
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 19:45  [ТС] 18
ох....вот это да....если я ТАКОЕ покажу ему....короче я никаким образом не смогу ему это объяснить((
0
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
23.04.2011, 19:47 19
dasha2702, Вы ему главное объясните.
Функция должна выполнять ТОЛЬКО одну вещь. А посмотрите не все-ли нулевые и посчитайте кол-во отрицательных - это ДВЕ вещи.
0
0 / 0 / 0
Регистрация: 09.04.2011
Сообщений: 15
23.04.2011, 19:50  [ТС] 20
кто бы мне ЭТО ВСЁ объяснил((
0
23.04.2011, 19:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.04.2011, 19:50
Помогаю со студенческими работами здесь

Ф-ия month всегда возвращает true, хотя так не должно быть
Ф-ия month всегда возвращает true, хотя так не должно быть. В этой ф-ии я должна либо ввести...

Напишите функцию которая принимает два действительных числа и возвращает true
3. Напишите функцию которая принимает два действительных числа и возвращает true, если абсолютные...

Написать функцию, находящую в строке двузначное число (возвращает true или false)
bool without_double(char stroka) { int j; for (unsigned j = 0; j &lt; strlen(stroka); j++) if...

Написать логическую функцию, которая возвращает true, если сумма чисел - положительное число
Неплохие задачи по С++! Подзабыл его( выручайте, буду очень благодарен 3. Даны два целых числа....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru