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

Найти в матрице количество отрицательных чисел, а числа, входящие в диапазон [0..10], умножить на 3

15.01.2019, 23:41. Показов 6230. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Произвести следующую обработку 10 целых чисел: это у меня получилось.
Но не могу понять как сделать это найти количество отрицательных чисел, а числа, входящие в диапазон [0..10], умножить на 3.
Помогите кому не сложно примером или обьяснением.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2019, 23:41
Ответы с готовыми решениями:

Массивы. Найти среднее арифметическое отрицательных чисел и подсчитать количество чисел, входящих в диапазон
Всем привет! Начал изучать C++, сталкнулся вот с такой задачей Произвести следующую обработку 15...

Найти количество отрицательных чисел в матрице
помоги написать матрицу 3х3,количество отрицательных чисел! Добавлено через 1 час 0 минут...

Найти количество отрицательных чисел в матрице
Дана таблица размера 5 х 10 заполненная целыми чмслами. Сообщить сколько в этой таблице...

Найти количество её отрицательных чисел в матрице
Ввести матрицу действительных чисел размерностью 3x5 и найти количество её отрицательных чисел...

6
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,162
16.01.2019, 01:04 2
Цитата Сообщение от Sangeras Посмотреть сообщение
Но не могу понять как сделать это найти количество отрицательных чисел, а числа, входящие в диапазон [0..10], умножить на 3.
C++
1
2
3
4
5
6
7
for (int i = 0; i < n; ++i) {
  if (a[i] < 0)
    ++cnt;
 
  if (a[i] >= 0 && a[i] <= 10)
    a[i] *= 3;
}
0
0 / 0 / 0
Регистрация: 15.01.2019
Сообщений: 8
16.01.2019, 09:37  [ТС] 3
Не получается пробовал 2 варианта.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
int main()
{
    setlocale(0, "Russian");
    int a[10], pow = 3, i, kol = 0;
    printf("Enter numbers\n");
    for (i = 0; i < 10; i++)
        scanf_s("%d", &a[i]);
    for (i = 0; i < 10; i++)
    {
        if ((a[i] >= 0) && (a[i] <= 10)) pow = a[i];
        if (a[i] % 2 != 0) kol--;
    }
    printf("Умножение в диапазоне [0,10]=%d\n", pow);
    printf("Количество отрицательных =%d", kol);
}
и

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "Russian");
    int a[10], pow = 0, i, kol = 0;
    printf("Enter numbers\n");
    for (int i = 0; i < 10; ++i) 
    {
        if (int i = 0); (i < n; ++i);
        if (a[i] >= 0 && a[i] <= 10)
            a[i] *= 3;
    }
    for (i = 0; i < 10; i++)
    {
        if ((a[i] >= 0) && (a[i] <= 10)) pow = a[i];
        if (a[i] % 2 != 0) kol--;
    }
    printf("Умножение в диапазоне [0,10]=%d\n", pow);
    printf("Количество отрицательных =%d", kol);
}
0
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,059
Записей в блоге: 2
16.01.2019, 09:56 4
Лучший ответ Сообщение было отмечено Sangeras как решение

Решение

Если правильно понял задание, то должно работать
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
#include <iostream>
 
using namespace std;
 
main()
{
    const int dim = 10;
    const int min = -10;
    const int max = 20;
    int arr[dim];
    int neg_cnt = 0;
 
      //fill and output array
      for(int i=0; i<dim; i++)
      {
         cout<<(arr[i] = min + rand() % (max - min))<<" ";
         if(arr[i]<0) neg_cnt++;
         if(arr[i]>=0 && arr[i]<=10) arr[i]*=3;
      }
 
     cout<<"\n\nModified array\n";
      for(int i=0; i<dim; i++) cout<<arr[i]<<" ";
 
    cout<<"\nNegatives count = "<<neg_cnt<<endl;
 
    system("pause");
}
1
0 / 0 / 0
Регистрация: 15.01.2019
Сообщений: 8
16.01.2019, 10:17  [ТС] 5
Да работает но там выставлются сами числа.Но нужно сделать чтобы самому вписывать числа надо было.Я пробовал сделать так но после того как вписываю числа отрицательные и положительные и жму энтр вроде бы выдаёт ответ и сразу закрывается окно даже не успеваю разглядеть что там.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
int main()
{
    setlocale(0, "Russian");
    int a[10], pow = 3, i, kol = 0;
    printf("Enter numbers\n");
    for (i = 0; i < 10; i++)
        scanf_s("%d", &a[i]);
    for (i = 0; i < 10; i++)
    {
        if ((a[i] >= 0) && (a[i] <= 10)) pow = a[i]*3;
        if (a[i] % 2 != 0) kol--;
    }
    printf("Умножение в диапазоне [0,10]=%d\n", pow);
    printf("Количество отрицательных =%d", kol);
}
0
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,059
Записей в блоге: 2
16.01.2019, 10:23 6
Лучший ответ Сообщение было отмечено Sangeras как решение

Решение

Цитата Сообщение от Sangeras Посмотреть сообщение
Но нужно сделать чтобы самому вписывать числа надо было
Переделать пару строк
C++
1
2
3
4
5
6
7
8
     //fill and output array
      for(int i=0; i<dim; i++)
      {
         cout<<"Input "<<(i+1)<<" element ";
         cin>>arr[i];
         if(arr[i]<0) neg_cnt++;
         if(arr[i]>=0 && arr[i]<=10) arr[i]*=3;
      }
Добавлено через 57 секунд
Цитата Сообщение от Sangeras Посмотреть сообщение
if (a[i] % 2 != 0) kol--;
А это что должно по замыслу делать?
1
0 / 0 / 0
Регистрация: 15.01.2019
Сообщений: 8
16.01.2019, 10:30  [ТС] 7
Как я понял искать количество отрицательных числе.)Спасибо тебе за помощь!
0
16.01.2019, 10:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2019, 10:30
Помогаю со студенческими работами здесь

Найти в матрице количество отрицательных чисел на побочной диагонали
Всем привет. Как найти в рандомно созданной матрице количество отрицательных чисел на побочной...


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

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