Загрузка...

Помогите с кодом

Тема в разделе C# создана пользователем нексюша 8 май 2024. 217 просмотров

Загрузка...
  1. нексюша
    нексюша Автор темы 8 май 2024 я проснулся,почистил свои зубы,заказал еды,поцеловал тебя в губы 2703 20 июн 2020
    Задание: нужно создать двумерный массив А(m x n) [-20,20], а из него создать массив B, который содержит отрицательные элементы массива А
    Получается это:
    [IMG]
    CSHARP
    using System;
    namespace abcdbsv
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Write("Введите количество строк: ");
    int n = Convert.ToInt32(Console.ReadLine());
    Console.Write("Введите количество столбцов: ");
    int m = Convert.ToInt32(Console.ReadLine());
    int[,] A = new int[n,m];
    Random r = new Random();
    int abcd = 0;
    for (int i = 0; i < A.GetLength(0); i++)
    for (int j = 0; j < A.GetLength(1); j++)
    {
    A[i, j] = r.Next(-20, 20);
    if (A[i, j] < 0)
    abcd++;
    }
    Console.WriteLine(abcd);
    int k = 0;
    foreach (int x in A)
    {
    Console.Write($"{x,6}\t");
    k++;
    if (k % m == 0)
    Console.WriteLine();
    }
    int[] B = new int[abcd];
    for (int i = 0; i < A.GetLength(0); i++)
    for (int j = 0; j < A.GetLength(1); j++)
    if (A[i, j] < 0)
    B[i] = A[i, j];
    for (int i = 0; i < B.Length; i++)
    Console.WriteLine($"B[{i}]= {B[i]} ");
    Console.ReadLine();
    }
    }
    }
     
    8 май 2024 Изменено
    1. нексюша Автор темы
      22 строка для себя чисто
  2. ПожилаяШляпа
    CSHARP
    ......
    int[] B = new int[abcd];

    k = 0;

    for (int i = 0; i < A.GetLength(0); i++)
    for (int j = 0; j < A.GetLength(1); j++)
    if (A[i, j] < 0)
    B[k++] = A[i, j];

    for (int i = 0; i < B.Length; i++)
    Console.WriteLine($"B[{i}]= {B[i]} ");
    Console.ReadLine();
    ......
     
    8 май 2024 Изменено
    1. Посмотреть предыдущие комментарии (12)
    2. vtlstolyarov
      нексюша, не знаю что у тебя там по красоте, а по заданию тебя просят создать массив который содержит отрицательные элементы а не отрицательные элементы и нули.
    3. ПожилаяШляпа
      vtlstolyarov, потому что он считает отрицательные элементы при добавлении в массив, хранит их в abcd, и создает B размера abcd?? С хера ли они разные будут
    4. vtlstolyarov
      ПожилаяШляпа, да, сорри, действительно, как-то я проебал этот момент что он считает abcd сразу при заполнении - я бегло глянул на код ТС и он там инкрементил k в отдельном цикле и я подумал что это и есть та часть которая подсчитывает количество отрицательных элементов, но сейчас я внимательно перечитал что там написано и оказалось что ТС просто хуйню написал.
      8 май 2024 Изменено
  3. KEKS243
    KEKS243 8 май 2024 1 15 янв 2022

    CSHARP

    using System;

    namespace abcdbsv
    {
    class Program
    {
    static void Main(string[] args)
    {
    Console.Write("Введите количество строк: ");
    int n = Convert.ToInt32(Console.ReadLine());
    Console.Write("Введите количество столбцов: ");
    int m = Convert.ToInt32(Console.ReadLine());
    int[,] A = new int[n, m];
    Random r = new Random();
    int abcd = 0;
    for (int i = 0; i < A.GetLength(0); i++)
    for (int j = 0; j < A.GetLength(1); j++)
    {
    A[i, j] = r.Next(-20, 20);
    if (A[i, j] < 0)
    abcd++;
    }
    Console.WriteLine(abcd);
    int k = 0;
    foreach (int x in A)
    {
    Console.Write($"{x,6}\t");
    k++;
    if (k % m == 0)
    Console.WriteLine();
    }
    int[] B = new int[abcd];
    for (int i = 0; i < A.GetLength(0); i++)
    for (int j = 0; j < A.GetLength(1); j++)
    if (A[i, j] < 0)
    {
    B[k] = A[i, j];
    k++;
    }
    for (int i = 0; i < B.Length; i++)
    Console.WriteLine($"B[{i}]= {B[i]} ");
    Console.ReadLine();
    }
    }
    }
     
Top