Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Массивы, вопрос Добавлено: 13.06.08 23:58  

Автор вопроса:  breton
Здравствуйте! Проблема такая: необходимо написать програмный код на языке Visual Basic .NET и на C# .NET. Текст задания такой:

"Напишите ф-ию,вычисляющую сумму всех элементов числового трехмерного массив"

Насколько я понял для программистов эта задача не должна представлять особого труда. Может конечно ошибаюсь, задание мне друг дал, у него сейчас нет Интернета, буквально "по бумажке" читаю..)
Причём я знаю, что в любой спецсреде принято давать указания, исходники и т.д. - и это правильно! Но сейчас просьба: не могли бы вы предоставить код, который готов от начала и до конца? То есть сразу будет готов для работы в Visual Studio 2005.

Ещё раз прошу прощения, если присутствуют ошибки в терминологии или не так/не туда запостил: нашёл вас по поиску. Заранее спасибо за помощь глупым гумманитариям. :)

Ответить

  Ответы Всего ответов: 14  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 14.06.08 07:54
Напишите ф-ию
готов от начала и до конца? То есть сразу будет готов для работы в Visual Studio 2005.

Мне кажется, тут есть некоторое противоречие.

Ответить

Номер ответа: 2
Автор ответа:
 D o c a l



ICQ: 408802757 

Вопросов: 76
Ответов: 985
 Web-сайт: www.doc-source.pp.net.ua/
 Профиль | | #2
Добавлено: 14.06.08 14:01
Sharp все это смог бы зделать но без денег не думаю что он станет что-то делать

Ответить

Номер ответа: 3
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #3 Добавлено: 14.06.08 16:16
Создай ConsoleApplication
Добавь этот код в Module1:

Module Module1

    Sub Main()
        Howdy()
    End Sub
    Public Sub Howdy()
        Dim summ As Double = 0.0
        ' 9, 9, 9 - число измерений каждого уровня массива:
        Dim A As Array = System.Array.CreateInstance(GetType(Integer), 9, 9, 9)

        Dim n As Integer, j As Integer, i As Integer
        For n = A.GetLowerBound(0) To A.GetUpperBound(0)
            For j = A.GetLowerBound(1) To A.GetUpperBound(1)
                For i = A.GetLowerBound(2) To A.GetUpperBound(2)
                    A(n, j, i) = CType(n + j + i, Integer) ' тупо запоняем
                Next
            Next
        Next

        Dim ienum As IEnumerator = A.GetEnumerator
        While ienum.MoveNext
            Console.WriteLine(ienum.Current.ToString)
            summ = summ + ienum.Current
        End While
        ' выводим результат в окне консоли:
        Console.WriteLine(ControlChars.CrLf & _
        "***************" & _
        ControlChars.CrLf & _
        "Summ: " & _
        summ.ToString)
        Console.ReadLine()
    End Sub

End Module


~'J'~

Ответить

Номер ответа: 4
Автор ответа:
 Holsten



Вопросов: 5
Ответов: 100
 Профиль | | #4 Добавлено: 14.06.08 16:32
Fatty, а разве Sub Howdy() - это
фу-ия
?:)

Ответить

Номер ответа: 5
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #5
Добавлено: 14.06.08 16:46
это все фигня, подобные вещи вот так надо делать:
// консолька
  class Program
  {
    static void Main(string[] args)
    {
      System.CodeDom.Compiler.ICodeCompiler c = new Microsoft.CSharp.CSharpCodeProvider().CreateCompiler();
      System.CodeDom.Compiler.CompilerParameters p = new System.CodeDom.Compiler.CompilerParameters();
      p.ReferencedAssemblies.Add("System.dll";);
      p.ReferencedAssemblies.Add("System.Windows.Forms.dll";);
      p.GenerateInMemory = true;
      CompilerResults cr = c.CompileAssemblyFromSource(p, Encoding.GetEncoding(1251).GetString(Convert.FromBase64String("Lypcclxuz/Du9+jy4Okg7OXt/ywg5fHr6CDx7O7m5fj8IDstKVxyXG5odHRwOi8vYWxla3NleS5uZW1pcm8ucnUgqSovY2xhc3MgUHJvZ3JhbXtwdWJsaWMgdm9pZCBNYWluKCl7U3lzdGVtLldpbmRvd3MuRm9ybXMuTWVzc2FnZUJveC5TaG93KCLR8+zs4CDs4PHx6OLgIGludFssLF17e3sxLDIsM30sezQsNSw2fX0se3sxMCwyMCwzMH0sezQwLDUwLDYwfX0se3sxMDAsMjAwLDMwMH0sezQwMCw1MDAsNjAwfX06XHJcbiIrU3VtKG5ldyBpbnRbLCxde3t7MSwyLDN9LHs0LDUsNn19LHt7MTAsMjAsMzB9LHs0MCw1MCw2MH19LHt7MTAwLDIwMCwzMDB9LHs0MDAsNTAwLDYwMH19fSkuVG9TdHJpbmcoKSk7fXB1YmxpYyBpbnQgU3VtKGludFssLF0gYXJyKXtpbnQgciA9IDA7Zm9yIChpbnQgaSA9IDA7IGkgPCBhcnIuR2V0TGVuZ3RoKDApOyBpKyspe2ZvciAoaW50IGogPSAwOyBqIDwgYXJyLkdldExlbmd0aCgxKTsgaisrKXtmb3IgKGludCBrID0gMDsgayA8IGFyci5HZXRMZW5ndGgoMik7IGsrKyl7ciArPSBhcnJbaSwgaiwga107fX19cmV0dXJuIHI7fX0=";)));
      if (cr.Errors.HasErrors)
      {
        for (int i = 0; i <= cr.Errors.Count - 1; i++) Console.WriteLine(cr.Errors[i].Line + ": " + cr.Errors[i].ErrorText);
      }
      else
      {
        System.Reflection.Assembly a = cr.CompiledAssembly;
        object mc = a.CreateInstance("Program", true, System.Reflection.BindingFlags.Default, null, null, System.Globalization.CultureInfo.CurrentCulture, null);
        if (mc != null)
          mc.GetType().InvokeMember("Main", System.Reflection.BindingFlags.InvokeMethod | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public, null, mc, null);
      }
      Console.ReadKey();
    }
  }

Ответить

Номер ответа: 6
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #6 Добавлено: 14.06.08 17:32
С утра в засаде сидел?
Чего ж сам-то не блеснул, просветил бы
нас скудоумных сиянием мысли
Али с кишкой чего приключилось?

~'J'~

Ответить

Номер ответа: 7
Автор ответа:
 Holsten



Вопросов: 5
Ответов: 100
 Профиль | | #7 Добавлено: 14.06.08 23:05
Человек культурно попросил написать именно функцию, зачем же ты вводишь его в заблуждение?

Ответить

Номер ответа: 8
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #8
Добавлено: 15.06.08 06:15
С утра в засаде сидел?

где я был с утра - это сложный вопрос, позвони моему секретарю, думаю она поделится с тобой этой информацией за определенное вознаграждение +7 (4232) 41-1*-0*

Чего ж сам-то не блеснул, просветил бы

Блистал, блещу, и буду блистать! И когда я это делю, нужно одевать солнечные очки, а то зрение может пострадать, от блеска.

нас скудоумных сиянием мысли

рад, что мои рефлекторные движения принимают за мысли :)

Али с кишкой чего приключилось?

какой-то подозрительно-проктологический интерес у тебя к кишкам :)

Человек культурно попросил написать именно функцию, зачем же ты вводишь его в заблуждение?


Прошу культурно,

Здравствуйте! Проблема такая: необходимо съездить на рыбалку на тачке Ferrari FXX. Тема такая:

"Съездите на тачке Ferrari FXX на рыбалку с друзьями"

Насколько я понял, для вас это не должно представлять сложностей. Может конечно ошибаюсь, меня об этом попросил друг, у него сейчас нет Интернета, буквально по бумажке читаю..)

Причем я знаю, что по провилам ГИБДД принято регистрировать автомобиль, нужны права и т.д. – и это правильно! Но сейчас просьба: не могли бы вы предоставить автомобиль Ferrari FXX, который готов от начала и до конца к поездке на рыбалку? То есть сразу будет готов для езды по дорогам нашей страны.

Еще раз прошу прощения, если присутствуют ошибки в терминологии или не так/не туда запостил: нашёл вас по поиску. Заранее спасибо за помощь глупым гуманитариями. :)

----

А нет, не так. Прошу культурно еще раз:

Здравствуйте! Проблема такая: одному пациенту необходимо выполнить операцию на сердце. Тема задания такая:

"Сделайте самостоятельно пациенту операцию на сердце"

Насколько я понял, для вас это не должно представлять сложностей. Может, конечно, ошибаюсь, меня об этом попросил друг, у него сейчас нет Интернета, и он пол года онанировал, вторую половину года сбривал волосы с ладошек, а вот сейчас пиздец, экзамены, сессия, если пациент сдохнет, ему незачет поставят и выпрут из универа.

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


---
И у этих культурных человеков не хватает даже фантазии задать вопрос в менее провокационной форме, не ссылаясь ни на какие задания, универы, зачеты, своих друзей, жен, детей, домашних животных, бактерий на мошонке. Не хватает фантазии потратить пару сотен рублей на 10 литровую бутылку водки преподу. На подобные вопросы, уж если и отвечать, то в такой же культурной форме. А то потом получилось так, что тебе нужна операция на сердце, а твоим доктором окажется такой вот культурный человек, с другом, у которого вчера сломался Интернет.

©

Ответить

Номер ответа: 9
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #9
Добавлено: 15.06.08 07:27
Жгуче :)

Ответить

Номер ответа: 10
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #10 Добавлено: 15.06.08 10:44
Алексей,

прошу прощения, что ответил без цитаты,
это относилось не к тебе, Holsten уже мне
ответил...
Мое уважение, твой стиль помощи мне
более приятен

ЗЫ не могу переписать твой пример на VB.NET -
VS2005 не находит кое-каких методов...

~'J'~

Ответить

Номер ответа: 11
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #11
Добавлено: 15.06.08 11:25
прошу прощения, что ответил без цитаты,
это относилось не к тебе, Holsten уже мне
ответил...

ну вот, опять я в лез в чужой огород :)

ЗЫ не могу переписать твой пример на VB.NET -

Мой пример - по большому счету шутка. Тут еще Rijndael-а не хватает, и GZip для полного счастья :) Код расчета суммы массива принципиально от твоего не отличается. На VB этот код будет примерно таким:
Module Module1

  Sub Main()
    Dim cd() As String = _
    { _
    "Lypcclxuz/Du9+jy4Okg7OXt/ywg5fHr6CDx", _
    "7O7m5fj8IDstKVxyXG5odHRwOi8vYWxla3Nle", _
    "S5uZW1pcm8ucnUgqSovY2xhc3MgUHJvZ3JhbX", _
    "twdWJsaWMgdm9pZCBNYWluKGludFssICxdIGF", _
    "ycil7U3lzdGVtLldpbmRvd3MuRm9ybXMuTWVz", _
    "c2FnZUJveC5TaG93KCLR8+zs4CDs4PHx6OLgID", _
    "0gIitTdW0oYXJyKS5Ub1N0cmluZygpKTt9cHVi", _
    "bGljIGludCBTdW0oaW50WywsXSBhcnIpe2ludCB", _
    "yID0gMDtmb3IgKGludCBpID0gMDsgaSA8IGFyci5", _
    "HZXRMZW5ndGgoMCk7IGkrKyl7Zm9yIChpbnQgaiA9", _
    "IDA7IGogPCBhcnIuR2V0TGVuZ3RoKDEpOyBqKyspe2", _
    "ZvciAoaW50IGsgPSAwOyBrIDwgYXJyLkdldExlbmd0", _
    "aCgyKTsgaysrKXtyICs9IGFycltpLCBqLCBrXTt9fX1", _
    "yZXR1cm4gcjt9fQ==" _
    }
    Dim c As System.CodeDom.Compiler.ICodeCompiler = New Microsoft.CSharp.CSharpCodeProvider().CreateCompiler()
    Dim p As New System.CodeDom.Compiler.CompilerParameters()
    p.ReferencedAssemblies.Add("System.dll";)
    p.ReferencedAssemblies.Add("System.Windows.Forms.dll";)
    p.GenerateInMemory = True
    Dim cr As CodeDom.Compiler.CompilerResults = c.CompileAssemblyFromSource(p, Text.Encoding.GetEncoding(1251).GetString(Convert.FromBase64String(Join(cd, "";))))
    If cr.Errors.HasErrors Then
      For i As Integer = 0 To cr.Errors.Count - 1
        Console.WriteLine(cr.Errors(i).Line & ": " & cr.Errors(i).ErrorText)
      Next
    Else
      Dim a As System.Reflection.Assembly = cr.CompiledAssembly
      Dim mc As Object = a.CreateInstance("Program", True, System.Reflection.BindingFlags.Default, Nothing, Nothing, System.Globalization.CultureInfo.CurrentCulture, Nothing)
      If mc IsNot Nothing Then
        Dim arr(,,) As Integer = {{{1, 2, 3}}, {{10, 20, 30}}, {{100, 200, 300}}} 'массив, сумму которого нужно посчитать
        mc.GetType().InvokeMember("Main", System.Reflection.BindingFlags.InvokeMethod Or System.Reflection.BindingFlags.Instance Or System.Reflection.BindingFlags.Public, Nothing, mc, New Object() {arr})
      End If
    End If
    Console.ReadKey()
  End Sub

End Module

тут, правда, сам массив принимается "снаружи".

Ответить

Номер ответа: 12
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #12 Добавлено: 15.06.08 11:40
Алексей, спасибо
Просто стартер просил на 2-х языках
Твой код у меня не работает, буду переписывать
напрямую через CodeDomProvider поскольку пишет:

Warning 1 'Public Overrides Function CreateCompiler() As System.CodeDom.Compiler.ICodeCompiler' is obsolete: 'Callers should not use the ICodeCompiler interface and should instead use the methods directly on the CodeDomProvider class.


~'J'~

Ответить

Номер ответа: 13
Автор ответа:
 Алексей



black  admin

ICQ: 261779681 

Вопросов: 87
Ответов: 633
 Web-сайт: aleksey.nemiro.ru
 Профиль | | #13
Добавлено: 15.06.08 12:57
Да, точно, у меня тоже пишет, правда я на это не обратил особого внимания :).
У тебя похоже какие-то жесткие настройки компилятора стоят.

'тогда всего одну строчку поменять
'Dim c As System.CodeDom.Compiler.ICodeCompiler = New Microsoft.CSharp.CSharpCodeProvider().CreateCompiler()
'на
Dim c As System.CodeDom.Compiler.CodeDomProvider = System.CodeDom.Compiler.CodeDomProvider.CreateProvider("CSharp";)

Ответить

Номер ответа: 14
Автор ответа:
 Fatty



Вопросов: 0
Ответов: 55
 Профиль | | #14 Добавлено: 15.06.08 13:30
Во, теперь работает как швейцарские часы
Спасибо, извини что отнял столько
времени
Regards,

~'J'~

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам