0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 7
1

Почему работает метод

29.12.2016, 15:30. Показов 685. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеется метод, и по нему задали вопрос - почему он работает. Ломаем голову уже несколько дней. Вопрос возможно сформулирован немного неправильно, но основная суть - почему он работает
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void randommetod(double[,] a)
{
random rand = new random()
for (int i = 0; a.GetLenght(0); i++)
{
for (int j = 0; a.GetLenght(1); j++)
{
a[i,j] = rand.Next(100);
Console.Write("{0}\t", a[i,j]);
}
}
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2016, 15:30
Ответы с готовыми решениями:

Почему не работает виртуальный метод?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Почему не работает метод Split
string param = "5?5"; char ch = '?'; string par = param.Split(ch); //null Что такого в знаке...

Почему не работает метод Headers.Add?
не могу понять в чем поблема

Не могу понять почему не вызывается метод? Как вывести метод Plus?
namespace lesson3 { class Program { struct Complex { public double im;...

17
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 15:36 2
Класса random нет.
В качестве верхнего предела цикла не может выступать целочисленное значение.
Он не работает)

Добавлено через 1 минуту
Может быть имеется в виду такой метод?
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void randommetod(double[,] a)
{
    Random rand = new Random();
    for (int i = 0; i < a.GetLength(0); i++)
    {
        for (int j = 0; j < a.GetLength(1); j++)
        {
            a[i,j] = rand.Next(100);
            Console.Write("{0}\t", a[i,j]);
        }
    }
}
0
Эксперт .NET
12090 / 8369 / 1280
Регистрация: 21.01.2016
Сообщений: 31,548
29.12.2016, 15:37 3
Цитата Сообщение от Pikemaster Посмотреть сообщение
В качестве верхнего предела цикла не может выступать целочисленное значение.
Это о чём?
1
0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 7
29.12.2016, 15:39  [ТС] 4
Да, имелся в ввиду такой код, вбивал по листку. Но вопрос всё равно остаётся, почему он работает.
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 15:40 5
Usaga, метод a.GetLength
C#
1
for (int i = 0; a.GetLenght(0); i++)
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
29.12.2016, 15:40 6
Цитата Сообщение от Usaga Посмотреть сообщение
Это о чём?
Вероятно, об условии цикла for:
C#
1
for (int i = 0; a.GetLenght(0); i++)
Цитата Сообщение от BillyDOS Посмотреть сообщение
почему он работает.
Он не работает.
2
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 15:42 7
BillyDOS, он заполняет матрицу.
Почему он не должен работать, что не понятно?)
0
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
29.12.2016, 15:42 8
Цитата Сообщение от Pikemaster Посмотреть сообщение
метод a.GetLength
Цитата Сообщение от kolorotur Посмотреть сообщение
Вероятно, об условии цикла for
От блин! А я не заметил
0
Эксперт .NET
12090 / 8369 / 1280
Регистрация: 21.01.2016
Сообщений: 31,548
29.12.2016, 15:48 9
Pikemaster, "Верхним пределом цикла" выступает выражение возвращающее true или false. Что именно в нём происходит - не важно.

Добавлено через 1 минуту
Но метод нерабочий.
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 15:49 10
Цитата Сообщение от Usaga Посмотреть сообщение
"Верхним пределом цикла" выступает выражение возвращающее true или false. Что именно в нём происходит - не важно.
Но не целочисленное значение.
0
0 / 0 / 0
Регистрация: 26.12.2016
Сообщений: 7
29.12.2016, 15:50  [ТС] 11
Вопрос в дугом. Первый код да - не рабочий. Рабочий:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void randommetod(double[,] a)
{
    Random rand = new Random();
    for (int i = 0; i < a.GetLength(0); i++)
    {
        for (int j = 0; j < a.GetLength(1); j++)
        {
            a[i,j] = rand.Next(100);
            Console.Write("{0}\t", a[i,j]);
        }
    }
}
Вопрос нам задали такой, почему этот код вообще работает. Он берёт и забивает массив рандомно, это понятно. Он работает, но ПОЧЕМУ. Мы сидим и не знаем как на этот вопрос ответить.
0
309 / 309 / 215
Регистрация: 24.09.2013
Сообщений: 771
29.12.2016, 15:52 12
BillyDOS,
C#
1
2
3
4
5
for (int i = 0; i < a.GetLength(0); i++)    // цикл по строкам
{
    for (int j = 0; j < a.GetLength(1); j++)    // цикл по столбцам
    {
        ...
0
1453 / 845 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
29.12.2016, 15:52 13
Цитата Сообщение от BillyDOS Посмотреть сообщение
Он работает, но ПОЧЕМУ. Мы сидим и не знаем как на этот вопрос ответить.
Почему работает метод
0
Эксперт .NET
12090 / 8369 / 1280
Регистрация: 21.01.2016
Сообщений: 31,548
29.12.2016, 16:09 14
Цитата Сообщение от BillyDOS Посмотреть сообщение
Вопрос нам задали такой, почему этот код вообще работает. Он берёт и забивает массив рандомно, это понятно. Он работает, но ПОЧЕМУ. Мы сидим и не знаем как на этот вопрос ответить.
Всмысле? Что в этом коде противоестестенного?
0
269 / 253 / 186
Регистрация: 28.10.2015
Сообщений: 723
29.12.2016, 17:35 15
Потому что нет ни одной причины для его неработоспособности.
0
Эксперт .NET
17685 / 12871 / 3365
Регистрация: 17.09.2011
Сообщений: 21,136
29.12.2016, 17:54 16
Цитата Сообщение от BillyDOS Посмотреть сообщение
Он работает, но ПОЧЕМУ.
Потому что он состоит из синтаксически правильных инструкций, выполнение которых приводит к достижению поставленной цели: заполнению двумерного массива вещественных чисел случайными целыми числами в диапазоне от 0 до 99 включительно.
Если, конечно, поставленная цель заключалась именно в этом.
Если же цель (задача) состояла в том, чтобы заполнить массив случайнми вещественными числами (с десятичной частью), то метод работает неправильно.
0
1150 / 742 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
29.12.2016, 18:05 17
Подробностей не вспомню, но у нас однажды преподаватель долго мучил студента, пытаясь у него выяснить чем отличаются два каких-то понятия. Бедный студент наверно раз пятнадцать к нему подходил с разными вариантами ответа. А ответ был прост - ничем.
Так и от вас, наверно, преподаватель хочет услышать простой ответ - работает, потому что нет ошибок.
0
.NET senior
440 / 358 / 137
Регистрация: 23.09.2016
Сообщений: 980
29.12.2016, 18:07 18
BillyDOS, потому что массивы в C# - ссылочные типы, передаются по ссылке, и потому внутри метода спокойно можно изменять элементы массива - то есть изменяется содержимое (состояние) объекта, а не сам объект.
1
29.12.2016, 18:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.12.2016, 18:07
Помогаю со студенческими работами здесь

Почему не вызывается метод Client_DownloadProgressChanged
using System; using System.Net; namespace WebClient { class Program { public static...

Почему в C# метод main статический?
почему в с# метод main статический?

Почему метод является частью свойства ... ??
Такой вопрос возник... Разъясните пожалуйста... listBox1.Items.Add listBox1 - переменная,...

Почему нельзя использовать метод ReadAllLines?
static int FoundConst(string fileAddress, string cs) { ...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

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