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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2010, 21:16   #11
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

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

namespace lz4_part2
{
    class Program
    {
        static void Main(string[] args)
        {
            int m = 0,n = 0;
            Console.WriteLine("Введите число строк и столбцов:");
            m = Convert.ToInt16(Console.ReadLine());
            n = Convert.ToInt16(Console.ReadLine());
            int inomber_minus = 0;
            int [,]iMatrix = new int[m, n] ;
            for (int i = 0; i<m; i++) //строки
            {
                for (int j = 0; j < n; j++)//столбцы
                {
                    if (iMatrix[m,n]<0)
                        inomber_minus++;

                }
            }
            Console.WriteLine("Всего {0} отрицательных элементов", inomber_minus);
            Console.ReadKey();
        }
    }
}
та же самая ошибка. как я понял это из-за того что массив не инициализирован, тоак как её исправить (провести правильную инициализацию) - хз. как написано в литературе - правильная инициализация - это или присваивание массиву значений (конкретным яыейкам) или же ввод размера массива с помощью констант
Dimarik вне форума Ответить с цитированием
Старый 21.02.2010, 21:40   #12
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Читайте что пишет компилятор, а пишет он скорее всего что выход за пределы массива... ибо:
Код:
m = Convert.ToInt16(Console.ReadLine());
            n = Convert.ToInt16(Console.ReadLine());
            int inomber_minus = 0;
            int [,]iMatrix = new int[m, n] ;
скажем ввели 4 и 4 те массив получил размерность 4 на 4...
m,n нигде не меняются
Код:
if (iMatrix[m,n]<0)
идет обращение к элементу массива с номером 4 и 4... которого нету!(выход за пределы массива...)
ЗЫ за год можно было уже узнать что в массиве из 4 элементов ... первый элемент 0 последний 3 ( 0,1,2,3)
ЗЫЫ и если делайте перечисление, то по вашему коду
Код:
if (iMatrix[i,j]<0)
простая невнимателность....но если бы Вы прочитали ошибку, что сказал компилятор, Вы бы все поняли...
dampirik вне форума Ответить с цитированием
Старый 21.02.2010, 21:50   #13
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Цитата:
я недавно перешёл с с++ на шарп. вот и думаю: так как есть public int[,] mas; то по идее она должна быть видна внутри класса и даже вне его.
не надо... с++ не так сино от шарпа отличаеться...
public - дает доступ к переменно из другого класа...(как к ней обращаться я надеюсь Вы знаете...)
protected - внутри класа
есть еще для дружественных класов метод, и в шарпе вроде еще чтото...
dampirik вне форума Ответить с цитированием
Старый 24.02.2010, 00:09   #14
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Цитата:
я недавно перешёл с с++ на шарп. вот и думаю: так как есть public int[,] mas; то по идее она должна быть видна внутри класса и даже вне его.
Все данные-члены класса видны внутри него. Но напрямую обращаться можно только к членам, объявленым, как public. И кстати - в реализации класса матрицы этот внутренний массив должен быть тоже закрытым. Потому как это по сути контейнер, а клиент не должен знать внутреннюю реализацию контейнера.
Это просто хороший стиль программирования.
MaTBeu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в С++ Alik-Soldier Общие вопросы C/C++ 58 18.01.2011 16:32
Классы honest Помощь студентам 5 21.09.2009 21:23
Классы в С++ S2S Общие вопросы C/C++ 0 15.03.2009 13:25