Как вывести только положительные числа массива c
Перейти к содержимому

Как вывести только положительные числа массива c

  • автор:

Как сделать так, что-бы массиве были не только положительные числа, но и отрицательные?

Как сделать так, что-бы массиве были не только положительные числа, но и отрицательные? В том фрагменте кода числа генерируються только от 0 до 100.

for(i=0; i 

Как найти самый большой среди отрицательных и наименьший среди положительных элементов сгенерированого массива. У меня есть код, но он только находить элементы тогда, когда массив заполняеться вручную.

int nvalues() < bool min = false; bool max = false; for (int i = 0; i < n; ++i) < if (a[i] < 0) if (a[i] >max) < max = a[i]; max = true; >if (a[i] > 0) if (a[i] < min) < min = a[i]; min = true; >> if (min) cout

Вывести положительные числа массива

Author24 — интернет-сервис помощи студентам

Добрый день. Нужна помощь так как сам запутался.
Этот код выдает положительные числа массива.
5
1 -2 3 -4 5
вывод 5,3,1
Мне нужно вывести количество этих положительных чисел подскажите как . Добавляю счетчик он мне вместо размера массива выводит их последовательность.

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
#include #include #include #include using namespace std; int main() { int n; cin >> n; vector int> a; //считывание for (int i = 0; i  n; i++) { int temp; cin >> temp; if (temp > 0) { a.push_back(temp); } } //обработка и вывод for (int i = a.size() - 1; i >= 0; i--) { cout  [i]  <" "; } return 0; }

Добавлено через 54 секунды
Уточняю ответ должен быть (3)
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как вывести только положительные числа массива
Найдите количество положительных элементов в заданном списке. Формат входных данных Вводится.

Вывести на экран только положительные числа заданного массива
Дан массив из 10 вещественных чисел вывести на экран только положительные числа заданного массива.

Сортировка массива: перенести положительные числа в начало, а отрицательные - в конец массива
Дан вещественный массив A(N). Отсортировать его таким образом, чтобы все положительные числа.

Эксперт С++

1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31

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
#include #include #include #include using namespace std; int main() { vectorint>val; int n; cin>>n; for (vectorint>::size_type i=0; in; i++) { int m; cin>>m; val.push_back(m); } int cc=0; for (vectorint>::reverse_iterator iter=val.rbegin(); iter!=val.rend(); iter++) if (*iter>0) { cout<*iter<" "; cc++; } cout; cout<"Kol: "; return 0; }

Эксперт С++

13515 / 10763 / 6416
Регистрация: 18.12.2011
Сообщений: 28,739
dimon77, для этого цикл не нужен.
В вашей программе a.size() и есть их количество
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785

ЦитатаСообщение от dimon77 Посмотреть сообщение

Мне нужно вывести количество этих положительных чисел подскажите как .

1 2 3 4 5 6 7 8 9 10 11 12
#include #include // std::count_if #include // std::vector using namespace std; int main() { vector int> a; for(int i=0;i10;i++) a.push_back(i); cout(a.begin(), a.end(), [](int i){return i>0;}); return 0; }

Регистрация: 18.06.2016
Сообщений: 27

увы не имею права применять эти знания и инструменты. только fo, while, if, else и массивы
К стате аналогичный счетчик в моем варианте выдает не 3, а 1.2.3 или 1.1.1 и т.д. но не одно число. Не знаю почему.

Эксперт С++

1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
dimon77,

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
#include #include #include #include using namespace std; int main() { vectorint>val; int n; cin>>n; for (int i=0; in; i++) { int m; cin>>m; val.push_back(m); } int cc=0; for (int i=val.size();i>=0;i--) if (val[i]>0) { cout[i]<" "; cc++; } cout; cout<"Kol: "; return 0; }

Регистрация: 04.10.2013
Сообщений: 142

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
#include #include char* Rus(const char* text); void main(void) { int q = 0; int mass[5] = { -1,2,-3,4,5 }; for (int i = 0; i  5; i++) { if (mass[i] > 0) { q++; } } printf(Rus("Кол-во положительных чисел в массиве = %d\n\n"), q); } char bufRus[256]; char* Rus(const char* text) { CharToOemA(text, bufRus); return bufRus; }

Регистрация: 18.06.2016
Сообщений: 27

Peoples
Честно усомнился так как еще утром у меня был такой вариант, но Визуал сказал кря и выдал кучу брани. Загнал твой вариант и увы опять тоже "кря". Но проскочила мысль что двух глупцов в одном месте быть не может и решил проверить онлайн на с++ shell. И о чудо все работает. Загнал на сайт, приняли! Не ожидал такой пакости от В студии. Спасибо брат за помощь!

Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785

ЦитатаСообщение от dimon77 Посмотреть сообщение

Визуал сказал кря и выдал кучу брани.

Потому наверное что ты код скопировал так как есть, а не изъял тело функции main() оставив в студии то, что она тебе предоставила из шаблона для консольных программ.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Вывести положительные элементы массива
Приветствую форумчане, я новичек в с++, у меня такая проблема, компилятору что-то не нравится в.

Вывести на экран только положительные целые числа из диапазона от А до В
Решить задачу, используя операторы циклов while и do…while Вывести на экран только положительные.

Вывести положительные элементы массива и их порядковые номера
1) Заполнить одномерный массив из n элементов, так как указано ниже. Размерность массива задать в.

Или воспользуйтесь поиском по форуму:

Как переставить элементы массива так, чтобы сначала располагались положительные, затем нулевые, а за ними отрицательные компоненты?

Переставить элементы массива так, чтобы сначала располагались положительные, затем нулевые, а за ними отрицательные компоненты, не изменяя начального взаимного расположение отдельно положительных и отдельно отрицательных компонентов.

К примеру:
исходный массив: -1 0 5 -9 8 -3 5 0 -7 4
результат: 5 8 5 4 0 0 -1 -9 -3 -7

  • Вопрос задан более двух лет назад
  • 1037 просмотров

1 комментарий

Простой 1 комментарий

Не получается получить все положительные числа из массива. Что не так?

Кроме того, как написали выше, что ты упускаешь нулевой элемент, ты так же поймаешь исключение IndexOutOfRange, потому что попытаешься обратиться к элементу массива с индексом 5, которого у тебя нет. Так же тебе нужно вынести int nm из цикла и инициализировать нулем, иначе каждую итерацию с положительным числом у тебя будет сбрасываться сумма.

Сonsole.WriteLine("Сумма всех положительных числе:" + nm); - это тоже стоит написать после цикла, а не внутри него, а то у тебя сейчас выводится каждое положительное число отдельно.

В итоге, это должно выглядеть вот так:

class Pragram
static void Count()
int[] num = < 5, -7, -1, 3, 9 >;
int nm = 0;
for (int i = 0; i < num.Length; i++)
int number = num[i];
if (number > 0)
nm += number;
>
>
Console.WriteLine("Сумма всех положительных числе:" + nm);
>

static void Main()
Count();
Console.ReadLine();
>
>

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *