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

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

1.Как вывести положительные элементы массива?2.Как вывести элементы массива кратные пяти?

Чтобы вывести положительные элементы массива нужно пройтись о нему обычным циклом for, а внутри цикла делать проверку if (a[i] > 0) then write(a[i], ‘ ‘); Аналогично и с кратными 5, только условие будет выглядеть так: if (a[i] mod 5 = 0) then write(a[i], ‘ ‘);

  • Связаться с нами
  • Правила проекта
  • Лицензионное соглашение
  • Политика конфиденциальности

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

Сообщение от Катя08

Даны любые числа.Как вывести на экран только отрицательные числа по убыванию.

Подсказка :
«Отрицательные меньше нуля.
генерируете любые числа.
сравниваете их с нулем.
сортируете
выводите на экран»

Регистрация: 16.09.2010

Сообщений: 3

#include #include using namespace std; int cmpDouble(const void* d1,const void* d2) < return (int)(*(double*)d1 - *(double*)d2); >int main() < double a[5]= ; qsort((void*)a,5,sizeof (double),cmpDouble); for(int i=4; i>=0; --i) < if(a[i]<0) cout << a[i] << endl; >return 0; >

Вывести массив 3

Задан массив из n целых чисел. Вывести только его положительные элементы, не меняя первоначальный порядок.

Входные данные

Первая строка содержит число n (1 ≤ n ≤ 100). Во второй строке записаны n целых чисел, каждое из которых не превышает по модулю 100.

Выходные данные

В первой строке вывести количество положительных элементов массива. Во второй строке вывести сами положительные элементы. Если положительных элементов в массиве нет, то вывести “NO”.

Алгоритм решения задачи

  • Фильтруем входные данные с помощью оператора Where LINQ.

Решение

using System; using System.Linq; class Program < static void Main(string[] args) < var n = Convert.ToInt32(Console.ReadLine()); var p = Array.ConvertAll(Console.ReadLine().Split(' '), s => int.Parse(s)).ToList() .Where(x => x > 0); var count = p.Count(); if (count == 0) < Console.WriteLine("NO"); > else < Console.WriteLine(count); Console.WriteLine(string.Join(" ", p)); > > > 

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

Кроме того, как написали выше, что ты упускаешь нулевой элемент, ты так же поймаешь исключение 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 не будет опубликован. Обязательные поля помечены *