Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2016, 18:24   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Работа со структурой C#

Добрый день!

Подскажите, пожалуйста, как обратиться к конкретному элементу массива в С#. И помимо этого, в программе выдает ошибки там где вызываются функции. Помогите, пожалуйста

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        public const int m = 20, n = 15;
        public double[,] A = new double [m,n];
        public struct str{
            double num1=1;
            double num2=1;
            double bol=0;
            double men=0;}
        int Arr()
        {
            for (int i = 1; i < m; i++)
            {

                for (int j = 1; j < n; j++)
                {

                    A[i, j] = (i + j) / Math.Log(1 + j);
                }
            }
            return 0;
        }


        void Viv()
        {
            for (int i = 1; i < m; i++)
            {

                for (int j = 1; j < n; j++)
                {

                    System.Console.Write(A[i, j]);
                }
                System.Console.WriteLine();
            }
        }

        int Vic()
        {
            double summ;
            for (int i = 1; i < m; i++)
            {
                summ = 0;
                for (int j = 1; j < n; j++)
                {
                    summ = summ + A[i, j];
                }
                if (i == 1)
                {
                    str->men = summ;
                }
                else
                {
                    if (summ > bol)
                    {
                        bol = summ;
                        num1 = i;
                    }
                    if (summ < men)
                    {
                        men = summ;
                        num2 = i;
                    }
                }
            }
            return 0;
        }

        int Res()
        {
            System.Console.WriteLine("Наибольшая сумма:");
            System.Console.WriteLine("   Номер строки: " + num1);
            System.Console.WriteLine("   Сумма: " + bol);
            System.Console.WriteLine("Наименьшая сумма:");
            System.Console.WriteLine("   Номер строки: " + num2);
            System.Console.WriteLine("   Сумма: " + men);
            return 0;
        }

        static void Main()
        {            
            Arr();
            Viv();
            Vic(str);
            Res(str);
            
            Console.ReadKey();
        }
}
}
Maray вне форума Ответить с цитированием
Старый 23.02.2016, 19:40   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Не вижу необходимости в структуре - сделайте просто переменными всё то что сейчас в структуре, т.к. и весь код обращается к этим данным как к переменным, а не полям структуры, кроме одного места str->men = summ; которое не является синтаксически корректным в сишарпе (если что, это делается через точку, а не ->).
Ошибки при вызове функций из-за того, что объявления функций без аргументов, а Вы им при вызове подсовываете аргументом эту структуру Вашу, попросту убрать надо.
Ещё логическая ошибка есть, для первой строки Вы запоминаете временно, что её сумма наименьшая, а то, что она наибольшая - не запоминаете, в результате вычисление наибольшей суммы может быть ошибочно (будет браться значение 0, и при вводе чисел, дающих отрицательную сумму, результаты будут некорректны).

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

Последний раз редактировалось phomm; 23.02.2016 в 19:42.
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со структурой SorryHelpMePLZ C/C++ Базы данных 1 02.06.2013 23:33
Работа со структурой. С++ Kolupaev Помощь студентам 3 08.02.2013 11:45
работа со структурой в с++ kewa Помощь студентам 0 07.12.2012 21:42
Работа со структурой (С) verx Помощь студентам 0 19.11.2012 21:36
работа со структурой Кристинка89 Общие вопросы C/C++ 1 25.03.2011 21:43