Алгоритмическое мышление при решении задач (на примере языка C#). Шамшев А.Б - 27 стр.

UptoLike

Составители: 

27
ключевое слово ref. После этого код будет выглядить следующим
образом:
using System;
class Program {
public static void delByValue(ref int[] data, int delValue) {
int countDel = 0;
for (int i = 0; i < data.Length; i++) {
if (data[i] == delValue) {
countDel++;
}
}
int[] newData = new int[data.Length - countDel];
int curPos = 0;
for (int i = 0; i < data.Length; i++) {
if (data[i] != delValue) {
newData[curPos++] = data[i];
}
}
data = newData;
}
public static int getCount(ref int[] data, int curValue) {
int count = 0;
for (int i = 0; i < data.Length; i++) {
if (data[i] == curValue) {
count++;
}
}
return count;
}
public static void processArray(ref int[] data) {
for (int i = 0; i < data.Length; i++) {
if (getCount(ref data, data[i]) == 2) {
delByValue(ref data, data[i]);
i = i - 1;
}
}
}
public static void printArray(ref int[] data) {
for (int i = 0; i < data.Length; i++) {
Console.Write(data[i] + " ");
}
Console.WriteLine();
}
private static void fillArray(ref int[] data) {
Random r = new Random();