Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
1

Как посчитать количество пар соседних елементов с разными значениями в каждой строке, в коде какая-то ошибка(

30.03.2019, 00:52. Показов 1483. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Task3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] mass = new int[5, 5];
            int pair = 0;
            Random r = new Random();
            int rand;
            for (int i = 0; i < mass.Length - 1; ++i)
            {
                for (int j = 0; j < mass.Length - 1; j++)
                {
                    rand = r.Next(-50, 50);
                    mass[i, j] = rand;
                   
                        if (mass[i, j] != mass[i - 1, j])
                        {
                            Console.WriteLine(mass[i, j] + " и " + mass[i - 1, j]);
                            pair++;
                        }
                }
                Console.WriteLine();
                Console.WriteLine("Итого :  " + pair);
                Console.Read();
            }
        }
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2019, 00:52
Ответы с готовыми решениями:

Количество пар одинаковых соседних элементов в каждой строке матрицы.
Задан двумерный массив (n × m). Найти количество пар одинаковых «Соседних» элементов в каждой...

Определить количество пар одинаковых соседних элементов в каждой строке матрицы
в данном двухмерном массиве определить количество пар одинаковых соседних элементов в каждой строке...

подсчитать количество пар соседних елементов которые имеют противоположные знаки в масиве заполниным рандомно
С библиотеками нужно

Подсчитать количество пар соседних элементов с одинаковыми значениями
Диапазон значений 50 - 50. В тексте программы запрещается применять операцию индексации. Что -...

15
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 01:18 2
Marina199913,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
        public static void Main(string[] args)
        {
           int m = 5, n = 5;
           int[,] matrix = new int[m,n];
           Random rand = new Random();
           for (int i = 0; i < m; i++)
           {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = rand.Next(-50,50);
                }
           }
           int count = 0; 
           for (int i = 0; i < m; i++)
           {
                for (int j = 0; j < n-1; j++)
                {
                    if(matrix[i,j]!=matrix[i, j+1])
                       count++;
                }
               Console.WriteLine("Кол-во эл-в в "+(i+1)+" строке = "+count);
               count = 0;
           }
        }
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 12:20  [ТС] 3
Спасибо, но оно что-то не считает разные количество разных пар в строке, просто выводить 4.
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 12:27 4
Marina199913,
Это происходит, потому что матрица заполняется псевдо-случайными числами. Так как матрица 5x5 то пар в каждой строке 4 и чаще всего все они с разными значениями.
1
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 12:30  [ТС] 5
А почему пар 4, а не 2?
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 12:30 6
Можно сделать так:
C#
1
matrix[i, j] = rand.Next(0,2);
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 12:33  [ТС] 7
И тут програмка не разлечает знаки, она видит -3 и 3 одинаковыми, ето можно исправить?
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 12:35 8
Marina199913,
Потому что у каждого элемента есть сосед, всего 5, но 5-й является соседом 4-го, поэтому 4 пары.
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 12:37  [ТС] 9
а мне нужно количество пар соседних елементов(((
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 12:42 10
Цитата Сообщение от Marina199913 Посмотреть сообщение
а мне нужно количество пар соседних елементов(((
Вы можете точнее сформулировать вашу задачу? Что значит соседних?

Добавлено через 1 минуту
Цитата Сообщение от Marina199913 Посмотреть сообщение
И тут програмка не разлечает знаки, она видит -3 и 3 одинаковыми, ето можно исправить?
Где?
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 12:44  [ТС] 11
это когда есть строка 1 2 3 4
и соседние елементы тогда 1 и 2, 3 и 4
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 12:53 12
Цитата Сообщение от Marina199913 Посмотреть сообщение
это когда есть строка 1 2 3 4
и соседние елементы тогда 1 и 2, 3 и 4
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class Program
    {
        public static void Main(string[] args)
        {
           int m = 4, n = 4;
           int[,] matrix = new int[m,n];
           Random rand = new Random();
           for (int i = 0; i < m; i++)
           {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = rand.Next(-3,4);
                }
           }
                              for (int i = 0; i < m; i++)
           {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(matrix[i, j]+" ");
                }
                                   Console.WriteLine();
           }
           int count = 0; 
           for (int i = 0; i < m; i++)
           {
                for (int j = 0; j < n-1; j++)
                {
                    if((j%2==0)&&(matrix[i,j]!=matrix[i, j+1]))
                       count++;
                }
               Console.WriteLine("Кол-во эл-в в "+(i+1)+" строке = "+count);
               count = 0;
           }
        }
    }
Вывод консоли:
Код
-1 0 2 -2 
2 2 2 -2 
-1 2 3 -3 
2 2 1 3 
Кол-во эл-в в 1 строке = 2
Кол-во эл-в в 2 строке = 1
Кол-во эл-в в 3 строке = 2
Кол-во эл-в в 4 строке = 1
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 14:04  [ТС] 13
Огромное спасибо)))Вы волшебник)

Добавлено через 58 минут
Скажи, пожалуйста, еще как правильна его разделить на два классы?
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
30.03.2019, 16:11 14
Цитата Сообщение от Marina199913 Посмотреть сообщение
Скажи, пожалуйста, еще как правильна его разделить на два классы?
А где формулировка задания? Все от задачи зависит. Да и зачем в таком простом задании классы.
0
0 / 0 / 0
Регистрация: 22.02.2019
Сообщений: 49
30.03.2019, 23:48  [ТС] 15
Просто хотела в одном классе мейн, а вдругом считать количество пар)
0
629 / 41 / 25
Регистрация: 25.04.2017
Сообщений: 510
31.03.2019, 13:07 16
Цитата Сообщение от Marina199913 Посмотреть сообщение
Просто хотела в одном классе мейн, а вдругом считать количество пар)
Классы - это чертежи, которые описывают модель реального мира. Например у персонажа в игре есть характеристики: сила, здоровье, ловкость и т. д. Эти характеристики образуют некий чертеж, который можно назвать классом. В вашем же случае классы не нужны. Их можно конечно создать, но в этом нет смысла.
Но если хотите:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    /// <summary>
    /// Статический класс для работы с матрицей
    /// </summary>
    public static class Matrix
    {
        /// <summary>
        /// Считает количество пар соседних элементов matrix с разными значениями в каждой строке
        /// </summary>
        public static List<string> Count(int m, int n, int[,] matrix)
        {
            int count = 0;
            var pairs = new List<string>();
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n - 1; j++)
                {
                    if ((j % 2 == 0) && (matrix[i, j] != matrix[i, j + 1]))
                        count++;
                }
                pairs.Add("Кол-во эл-в в " + (i + 1) + " строке = " + count);
                count = 0;
            }
            return pairs;
        }
    }
Пример использования:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
   public class Program
    {
        public static void Main(string[] args)
        {
            int m = 4, n = 4;
            int[,] matrix = new int[m, n];
            Random rand = new Random();
            //заполняем матрицу
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    matrix[i, j] = rand.Next(-3, 4);
                }
            }
            //выводим матрицу
            for (int i = 0; i < m; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    Console.Write(matrix[i, j] + " ");
                }
                Console.WriteLine();
            }
            // считаем пары
            var result = Matrix.Count(m, n, matrix);
            // выводим результат
            foreach (string s in result)
            {
             Console.WriteLine(s);
            }
        }
    }
0
31.03.2019, 13:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2019, 13:07
Помогаю со студенческими работами здесь

Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Доброго времени суток. Как создать масив без использования операции индексации, в котором нужно...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон значений : -50 до...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Размерность массива : 200 Диапазон значений : от -50 до 50 Подсчитать количество пар соседних...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Размерность массива: 200 Диапазон значений : -50 до 50 Подсчитать количество пар соседних...

Подсчитать количество пар соседних элементов массива с одинаковыми значениями
Что нужно сделать: Подсчитать количество пар соседних элементов с одинаковыми значениями Диапазон...

Массивы. Подсчитать количество пар соседних элементов с одинаковыми значениями
1)Решить задачи, используя динамический одномерный массив. Выделение памяти под массив, его ввод с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru