Как изменять размерность одномерного массива? - C#
Формулировка задачи:
Здравствуйте, пожалуйста объясните, как сделать так, чтобы n - кол-во элементов массива вводилось до того момента, пока n не будет соответствовать условию: n > 0 && n < 10?
К примеру: я ввожу n=15, и программа выдаёт: "Ошибка введения количества элементов массива!" и заканчивает работу.
А мне нужно, чтобы после вывода такого сообщения она повторно запрашивала ввести n.
Вот задание (но мне нужно узнать только то, как повторно ввести n):
Напишите программу, определяющую в целочисленном массиве размерностью n < 10 количество элементов, кратных некоторому числу m.
Программа должна выполнять следующие операции:
― вводить значения элементов массива в диалоговом режиме;
― вводить m в диалоговом режиме;
― выводить массив;
― выводить найденные элементы массива и общее число найденных элементов.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _2_лаба_4_семестр
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введите количество элементов массива < 10: ");
string a;
a = Console.ReadLine();
int n = Convert.ToInt32(a); // кол-во элементов массива
int[] b = new int[n]; // массив
string z; // элементы массива
string f;
int d = 0; // подсчет кол-ва эл. массива, кратных m
if (n > 0 && n < 10)
{
for (int i = 0; i < n; i++) //цикл заполнения массива
{
Console.WriteLine("Введите элемент массива: ");
z = Console.ReadLine();
b[i] = Convert.ToInt32(z);
}
Console.WriteLine("Массив: ");
foreach (int elem in b)
Console.Write(" " + elem);
Console.WriteLine();
Console.WriteLine("Введите некоторое число m: ");
f = Console.ReadLine();
int m = Convert.ToInt32(f);
for (int i = 0; i < n; i++) //цикл поиска чисел кратных m
{
int t = b[i] % m; //остаток деления на m
if (t == 0)
{
d = d + 1;
Console.WriteLine("Число кратное m: " + b[i]);
}
}
Console.WriteLine("Количество чисел кратных m: " + d);
}
else
Console.WriteLine("Ошибка введения количества элементов массива!");
Console.ReadKey();
return;
}
}
}Решение задачи: «Как изменять размерность одномерного массива?»
textual
Листинг программы
using System;
namespace ConsoleApplication2
{
class Program
{
public static void Main()
{
int n = 0;
do
{
Console.WriteLine("Введите количество элементов массива < 10: ");
n = int.Parse(Console.ReadLine()); // кол-во элементов массива
}
while (n <= 0 || n >= 10);
int[] b = new int[n]; // массив
string z; // элементы массива
string f;
int d = 0; // подсчет кол-ва эл. массива, кратных m
if (n > 0 && n < 10)
{
for (int i = 0; i < n; i++) //цикл заполнения массива
{
Console.WriteLine("Введите элемент массива: ");
z = Console.ReadLine();
b[i] = Convert.ToInt32(z);
}
Console.WriteLine("Массив: ");
foreach (int elem in b)
Console.Write(" " + elem);
Console.WriteLine();
Console.WriteLine("Введите некоторое число m: ");
f = Console.ReadLine();
int m = Convert.ToInt32(f);
for (int i = 0; i < n; i++) //цикл поиска чисел кратных m
{
int t = b[i] % m; //остаток деления на m
if (t == 0)
{
d = d + 1;
Console.WriteLine("Число кратное m: " + b[i]);
}
}
Console.WriteLine("Количество чисел кратных m: " + d);
}
Console.ReadKey();
}
}
}