Не все ветви кода возвращают значение - C# (184435)

Узнай цену своей работы

Формулировка задачи:

Помогите исправить ошибки, или подкиньте идеи как ещё можно выполнить задание. Мне нужно было написать функцию, возвращающую номера строк матрицы с элементом, который больше суммы остальных элементов в этой же строке.
static void Main(string[] args)
        {
            int n, m;
            Console.Write("Введите кол-во строк матрицы X: ");
            n = int.Parse(Console.ReadLine());
            Console.Write("Введите кол-во столбцов матрицы X: ");
            m = int.Parse(Console.ReadLine());
            int[,] X = new int[n, m];

            Random rnd = new Random();
 
            nomer(n, m, X);
 
            Console.ReadKey();
        }
        public static int nomer(int n, int m, int[,] X)
        {
            int a;
            Random rnd = new Random();
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < m; j++)
                {
                    X[i, j] = rnd.Next(100);
                    Console.Write(" {0,3}", X[i, j]);
                }
                Console.WriteLine();
            }
            Console.WriteLine();
 
            int max, S;
            for (int i = 0; i < n; i++)
            {
                S = 0;
                max = 0;
                for (int j = 0; j < m; j++)
                {
                    S = S + X[i, j];
                    if (X[i, j] > max) max = X[i, j];

                   // Console.WriteLine(" В {0}-й строке максимальный элемент = {1}", i + 1, max);
                    S = S - max;
 
                    //Console.WriteLine("Сумма элементов {0}-й строки не считая максимальный = {1}", i + 1, S);

                    if (max > S)

                    Console.WriteLine("В {0} строке есть элемент, который больше суммы остальных в этой же строке: {1}", i + 1, max);
                    a = i + 1;
                    return a;

                }

            }
        }

Решение задачи: «Не все ветви кода возвращают значение»

textual
Листинг программы
int[,] lm = { { 1, 2, 4 }, { 5, 6, 7 }, { 8, 9, 18 } };
            int kt = lm.GetLength(0);
            int kl = lm.GetLength(1);
            List<int> rows = new List<int>();//список строк, соответствующих условию
            string str = "";
            for (int q = 0; q < kt; q++)
            {
                int [] df = new int[kl];
                for (int w = 0; w < kl; w++)
                    df[w] = lm[q, w];
                int max = df.Max();
                int sum = df.Sum();
                if (max > (sum - max)) { rows.Add(q); str += q.ToString() + " "; }
            }
            if (rows.Count > 0) MessageBox.Show(str);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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