Использование методов и массивов - C#
Формулировка задачи:
Простецкая задача ввела в ступор когда дошло дело до использование методов.
Дан массив A размера N. Сформировать два новых массива B и C: в массив B записать все положительные элементы массива A, в массив C — все отрицательные (сохраняя исходный порядок следования элементов). Вывести вначале размер и содержимое массива B, а затем — размер и содержимое массива C.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
// подпрограмма для ввода массива
static void enter(out int[] massiv, int N)
{
int i = 0;
massiv = new int[N];
for (i = 0; i < N; i++) // вводим элементы массив
{
Console.WriteLine("Введите {0}-й элемент массива", i);
massiv[i] = int.Parse(Console.ReadLine());
}
// здесь должен находиться код программы для ввода массива
}
// подпрограмма обработки массива
public static void process(ref int[] C,int[] A,int[] B,int c,int b)
{
int i;
for (i = 0; i < C.Length; i++) //вывод всех элементов массива
{
if (A[i] > 0) // отбираем положительные элементы
B[b++] = A[i]; //положительные элементы массива А переходят в Б
else C[c++] = A[i]; //иначе все отрицательные элементы в С
}
// здесь должен находиться код программы обработки массива
}
// подпрограмма для вывода массива на экран
static void print(int[] C, int[] A, int[] B, int c, int b)
{
Console.WriteLine();//отступ
for (int i = 0; i < b; i++) Console.WriteLine("B[{0}] = " + B[i], i); //вывод массива Б
Console.WriteLine();
for (int i = 0; i < c; i++) Console.WriteLine("C[{0}] = " + C[i], i); // Вывод массива А
Console.WriteLine();
}//отступ
// здесь должен находиться код программы для вывода массива
static void Main(string[] args)
{
Console.WriteLine("Введите число элемента Массива А");
int N = int.Parse(Console.ReadLine());
int c, b;
c = 0;
b = 0;
int[] massiv1 = new int[N];
int[] massiv2 = new int[N];
int[] massiv3 = new int[N];
// Введите первый массив A
enter(out massiv1,N);
process(ref massiv3,massiv1,massiv2,c,b);
process(ref massiv2, massiv1, massiv3, c, b);
print(massiv2,massiv3,massiv1,c,b);
Console.ReadKey();
}
}
}Решение задачи: «Использование методов и массивов»
textual
Листинг программы
int[] entryMassive = { 1, -2, -3, -4, 5, 6, 7, 8, -9, 10 };
var positive = entryMassive.Where(i => i > 0);
Console.WriteLine("{0}: {1}", positive.Count(), string.Join(", ", positive));
var negative = entryMassive.Where(i => i < 0);
Console.WriteLine("{0}: {1}", negative.Count(), string.Join(", ", negative));