Как изменять размерность одномерного массива? - 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();          
        }     
    }
    }

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы