Не все ветви кода возвращают значение - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д