Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 261

Поделим условные строки массива на число

29.12.2016, 14:21. Показов 808. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в inspection ошибка с передачей параметру line значения, а мне еще нужно изменять каждую строку в которой может найтись элемент больше среднего арифметического всех элементов массива, поэтому пишу out line

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
37
38
39
40
static void arr_input ( int [,]mas,out int average)
        {
            int summ = 0;
            Random rand = new Random();
            Console.WriteLine("исходный массив");
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    mas[i, j] = rand.Next(0, 9);
                    Console.Write(mas[i,j]);
                    summ += mas[i, j];
                }
                Console.WriteLine();
            }
            Console.WriteLine("среднее значение {0}", average = summ / 81);
            
 
        }
        static void Main(string[] args)
        {
            int average, line;
            int[,] array=new int[9,9];
            arr_input(array, out average);
            inspection(array, average, out line);
 
        }
        static void inspection(int[,] mas, int average, out int line)
        {
 
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    if (mas[i, j] > average)
 
                }
            }
 
        }
вообще может inspection в основном методе оставить и уже там делать что-то вроде
C#
1
2
3
4
5
        if (mas[i,j] > average)
                    {
                        Console.WriteLine("изменяется строка {0}", i);
                        different(i,average, mas);
                    }
C#
1
2
3
4
5
6
7
8
9
10
static void dif (int i,double average,int [,]mas)
        {
            
            for (int j = 0; j < mas.GetLength(1); j++)
            {
                if (mas[i,j]>average)
                mas[i, j] /= 10;
            }
            
        }
Добавлено через 1 минуту
или можно придать значение line еще в методе inspection без сложностей
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.12.2016, 14:21
Ответы с готовыми решениями:

Заменить значения всех элементов второй строки массива на число 5. пятого столбца массива на число 10.
Дан двухмерный массив. а) Заменить значения всех элементов второй строки массива на число 5. 6) Заменить значения всех элементов...

Условные операторы: определить, какой день недели выпадает на заданное число
Дано трехзначное число от 1 до 365. Определить, какой день недели выпадает на это число, если 1 января - понедельник.

Найти число нулевых, положительных и отрицательных значений используя условные операторы.
Заданы четыре переменные,подсчитать количество равных нулю,положительных и отрицательных... 1. Из файла сценария с помощью функции...

5
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 16:56
Цитата Сообщение от Reska Посмотреть сообщение
или можно придать значение line еще в методе inspection
Это и нужно делать для параметра, который передается в метод с параметром out.
Цитата из книги:
Методы, которым при определении указано принимать выходные параметры (с помощью ключевого слова out),
должны перед выходом обязательно присваивать им соответствующие значения (в противном случае компилятор сообщит об ошибке).
Добавлено через 2 минуты
Обычно (но не обязательно) подразумевается, что метод, который принимает out параметр определяет его первоначальное значение.

Добавлено через 2 минуты
Т.е. до вызова метода параметр может быть неинициализирован, но после метода он должен быть инициализирован.
0
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 261
29.12.2016, 17:01  [ТС]
еще непонятно, хоть с инициализацией и понял, но тут проверить нужно все строки а не одну, как вызывать в этом случае метод
Миниатюры
Поделим условные строки массива на число  
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 17:03
закомментируйте 2 строчки
C#
1
2
3
diff //?
...
static void diff //?
0
0 / 0 / 2
Регистрация: 13.12.2015
Сообщений: 261
29.12.2016, 17:19  [ТС]
Цитата Сообщение от Pikemaster Посмотреть сообщение
закомментируйте 2 строчки
C#
1
diff //?
вопрос с вызовом метода изменяющего массив, выходит лучше всего не делать отдельный метод inspection, а сразу как только в строке нашелся элемент больше average вызывать метод diff, в который будет передаваться значение i

Добавлено через 10 минут
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
class Program
    {
        static void arr_input(int[,] mas, out int average)
        {
            int summ = 0;
            Random rand = new Random();
            Console.WriteLine("исходный массив");
            for (int i = 0; i < mas.GetLength(0); i++)
            {
                for (int j = 0; j < mas.GetLength(1); j++)
                {
                    mas[i, j] = rand.Next(11, 26);
                    Console.Write(mas[i, j]);
                    summ += mas[i, j];
                }
                Console.WriteLine();
            }
            Console.WriteLine("среднее значение {0}", average = summ / 81);
 
 
        }
        static void Main(string[] args)
        {
            int average;
            int[,] array = new int[9, 9];
            arr_input(array, out average);
            //inspection(array, average, out line);
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    if (array[i, j] > average)
                        diff(array, average, i);
                }
            }
            arr_output(array);
        }
 
 
        static void diff(int[,] mas, int average, int line)
        {
            for (int j = 0; j < mas.GetLength(1); j++)
            {
                if (mas[line, j] > average)
                    mas[line, j] /= 10;
            }
        }
        static void arr_output(int[,] array)
        {
            for (int i = 0; i < array.GetLength(0); i++)
            {
                for (int j = 0; j < array.GetLength(1); j++)
                {
                    Console.Write(array[i, j]+ " ");
                }
                Console.WriteLine();
            }
        }
    }
пока только так
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 17:29
Reska, не совсем понял. Пока что не понимаю зачем line вообще нужен. Задание какое?

Добавлено через 49 секунд
Вижу

Добавлено через 7 минут
Еще выходить из цикла вовремя, чтобы метод diff не выполнялся по несколько раз для одной строки и вообще ништяк)
C#
1
2
3
4
5
6
7
...
if (array[i, j] > average)
{
    diff(array, average, i);
    break;
}
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2016, 17:29
Помогаю со студенческими работами здесь

Деление строки массива на число
Не до конца понимаю, как поделить 1 строку массива B3 на число B B3 = , , , , , ] h =...

Массивы, условные операторы, оператор Switch: циклический сдвиг массива на K < N элементов вправо
Здравствуйте, добрый вечер Мне нужно создать код C, но у меня есть много трудностей в понимании того, что нужно сделать, потому что...

Найти число положительных и отрицательных элементов вектора,не используя операторы цикла и условные операторы
найти число положительных и отрицательных элементов вектора,не используя операторы цикла и условные операторы

Найти сумму четных отрицательных элементов массива, имеющих нечетные индексы (условные, безусловные переходы)
Выполнить используя команды сравнения, условного и безусловного переходов: В заданной конечной последовательности целых чисел найти...

Заменить значения всех элементов второй строки массива на число 5
Заменить значения всех элементов второй строки мас¬сива на число 5.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru