Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.75
AIRWALK
0 / 0 / 2
Регистрация: 07.03.2010
Сообщений: 19
#1

Написать функцию, которая возвращает истину, если в массиве нет отрицательных элементов - C++

10.05.2010, 11:28. Просмотров 3713. Ответов 7
Метки нет (Все метки)

Ребята, нужна ваша помощь. На носу сессия и времени практически нет. Помогите с заданием по программированию:
1.Написать функцию, которая возвращает истину, если в массиве нет отрицательных элементов. Принимаемые параметры – имя массива и его размер.
2.Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2010, 11:28
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Написать функцию, которая возвращает истину, если в массиве нет отрицательных элементов (C++):

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

Написать функцию, которая зануляет массив переданный как параметр и возвращает кол-во отрицательных элементов до зануления?
Написать функцию, которая зануляет массив переданный как параметр и возвращает...

Создать функцию, которая возвращает количество отрицательных элементов массива
Создать функцию, которая возвращает количество отрицательных элементов массива....

Нужно написать функцию которая возвращает индекс элемента в массиве который мы ищем
Нужно написать функцию которая возвращает индекс элемента в массиве который мы ...

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

Написать функцию, которая в зависимости от значения первого параметра возвращает количество отрицательных или положительных чисел призвольного массива
Написать функцию, которая в зависимости от значения первого параметра (символ +...

7
neske
1527 / 894 / 192
Регистрация: 26.03.2010
Сообщений: 3,074
10.05.2010, 11:36 #2
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
#include <iostream>
#include <ctime>
#include <iomanip>
bool neg_el (const int *, int);
 
int main()
{
   const int size=10;
   int MAS[size];
 
   std::cout << "Start matrix\n";
   srand(time(NULL));
   for (int i=0; i<size; i++) { // заполнение и вывод матрицы.
       MAS[i]=rand()%24-3; // -3..20
       std::cout << std::setw(3) << MAS[i]; }
 
    std::cout << std::endl;
    if (neg_el(MAS, size)) std::cout << "True.\n";
                    else std::cout << "False.\n";
    return 0;
}
 
bool neg_el (const int *MAS, int size)
{
    for (int i=0; i<size; i++)
        if (MAS[i]<0) return false;
    return true;
}
1
yanyk1n
4331 / 1462 / 680
Регистрация: 12.03.2009
Сообщений: 5,310
10.05.2010, 11:37 #3
1)
C++
1
2
3
4
5
bool isOtr(int * mas, int n)
{
 for (int i=0;i < n;i++) if (mas[i]<0) return false;
 return true;
}
1
AIRWALK
0 / 0 / 2
Регистрация: 07.03.2010
Сообщений: 19
10.05.2010, 11:55  [ТС] #4
Спасибо большое, всё работает)
0
Darky
Быдлокодер
508 / 295 / 84
Регистрация: 22.11.2009
Сообщений: 892
Завершенные тесты: 1
10.05.2010, 12:26 #5
Еще так можно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define N 5
  using namespace std;
int func(int A[N])
{
  for (int i=0;i<N;i++)
    if (A[i]==0) return 0;
  return 1;
}
int main()
{
  int A[N]={1,2,3,0,4};
  cout<<func(A);
  getch();
}
0
ovli
0 / 0 / 1
Регистрация: 04.08.2012
Сообщений: 16
06.08.2012, 17:41 #6
А мне сейчас 2 часть в д.з попалась
2.Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.
И я попробовал так решить, используя преобразование типов:
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
#include<iostream>
#include<math.h>
using namespace std;
template <typename T> T rounding_numbers (T k,T n)
{
return k*pow(10,(n+1));
}
template <typename T> T rounding_numbers (T n)
{
return pow(10,(n+1));
}
void main()
{
    double capacity,number;
    int a;
    cout<<"input number\n";
    cin>>number;
    cout<<"input capacity\n";
    cin>>capacity;
    a=rounding_numbers (number,capacity);
    a%10;   
        if(a%10<5)
            number=(a-a%10)/rounding_numbers (capacity);
        if(a%10>=5)
number=(a-a%10+10)/rounding_numbers (capacity);
        cout<<"\n"<<number<<"\n";
 
}
0
Alesandro07
1 / 1 / 1
Регистрация: 22.01.2015
Сообщений: 17
28.03.2015, 16:36 #7
Разбирали уже задачу под номером 2 в разных форумах. Смотри мой код.
2.Написать функцию, которая принимает в качестве параметров вещественное число и количество знаков после десятичной точки, которые должны остаться. Задачей функции является округление вышеуказанного вещественного числа с заданной точностью.
Пробуем:
вводим число 5,34567896547. Вводим цифру округления к примеру 8, получаем на выводе 5,34567897
вводим тоже число 5,34567896547. Вводим цифру округления к примеру 5, получаем на выводе 5,34568
А вот если вводим цифру округления с 9 и выше, то вылезаем за границы типа данных или в чем-то другая причина...

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
#include <iostream>
#include <math.h>
using namespace std;
 
void okrugl(double a, int b)
{
    double celoe, drobi, x;
    int full;
    x=pow(10.0, b);
    celoe=a*x;
    full=(int)celoe;
    drobi=celoe-full;
    if(drobi>=0.5) // округление при 5 и выше>
    { full=full+1; }
    celoe=full/x;
    cout.precision(10);//вывод до 10 символов после запятой. 
    cout<<celoe<<"\n";
}
void main()
{
    setlocale(LC_ALL,"Russian");
    double a, b;
    cout<<"Введите число с любым количеством знаков после запятой: "<<"\n";
    cin>>a;
    cout<<"Введите число равное порядковому номеру после запятой, которое должно остаться с учетом округления:"<<"\n";
    cin>>b;
 
    okrugl(a,b);//вызов функции и показ результата
}
0
ValeryS
Модератор
7134 / 5402 / 669
Регистрация: 14.02.2011
Сообщений: 18,226
28.03.2015, 16:56 #8
вариант 1
C++
1
2
3
4
5
6
7
bool neg_el (const int *MAS, int size)
{
   bool tmp=true;
    for (int i=0; i<size && tmp; i++)
       tmp=tmp&(MAS[i]>=0);
    return tmp;
}
вариант 2
C++
1
2
3
4
5
6
bool neg_el (const int *MAS, int size)
{
   int i;
    for ( i=0; i<size && (MAS[i]>=0; i++);
        return i==size;
}
0
28.03.2015, 16:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.03.2015, 16:56
Привет! Вот еще темы с решениями:

Написать функцию, которая ищет число в одноименном массиве и возвращает индекс каждого вхождения этого числа
Здравствуйте) Помогите с задачей. Написать функцию, которая ищет число в...

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

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru