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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.11.2012, 15:02   #1
portible
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 17
По умолчанию Масивы C# 2010

Дано 2 задания, первое сделал, с горем пополам, а вот как сделать второе я не знаю даже и прошу совета и помощи.

1. Сформируйте вручную одномерный массив из 5 элементов. Подсчитайте количество отрицательных элементов массива.

2. Сформируйте таблицу из 4 строк и 4 столбцов (случайными числами) и выведите ее на экран. Замените ненулевые элементы на 1.

Это первое задание считает нормально по моему.
Код:
public Form1()
        {
            InitializeComponent();
        }
        int[] mas1 = new int[5];
        int[,] mmas2 = new int[16,16];
        int i, k = 0;
       


        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            int i = 0; k = 0;
            while (i < 5) 
            {
                if (dataGridView1.Rows[0].Cells[i].Value != null)
                {
                    mas1[i] = Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value.ToString());
                    if (mas1[i] < 0) k = k + 1;
                    dataGridView1.Rows[0].Cells[i].Value = mas1[i];
                    label1.Text = ("Количество отрецательных чисел:" + k);
                }
                i++;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.Rows.Add(1);
            dataGridView2.Rows.Add(4);
        }
А вот попытки сделать второе.
заранее добавил строки.
Добавляется только в 1 строку первой ячейки, а надо чтоб заполнило всю таблицу 4 х 4, и ненулевые элементы заменило на 1.

Код:
 private void button2_Click(object sender, EventArgs e)
        {
           /*
            Random r = new Random();
            int x = 0, y = 0;
            mmas2[x,y] = r.Next(-100,100);
            dataGridView2.Rows[x].Cells[y].Value = mmas2[x,y];
            x++;
            y++;
            */
Вложения
Тип файла: rar massiv.rar (45.1 Кб, 7 просмотров)
portible вне форума Ответить с цитированием
Старый 04.11.2012, 15:39   #2
stas_kovel
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 28
По умолчанию

Если ты говоришь, что нужно 4*4 матрица, то буде так: int[,] mmas2 = new int[4,4];
В обработчике событий кнопки цикл wile замени на for:
private void button1_Click(object sender, EventArgs e)
{
k = 0;
for (int i = 0; i < 5; i++)
{
if (dataGridView1.Rows[0].Cells[i].Value != null)
{
mas1[i] = Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value.ToString());
if (mas1[i] < 0) k++;
dataGridView1.Rows[0].Cells[i].Value = mas1[i];
label1.Text = ("Количество отрецательных чисел:" + k);
}
}
}
Вопрос: тебе матрицу нужно вводить вурчную или приписать автоматом?
stas_kovel вне форума Ответить с цитированием
Старый 04.11.2012, 16:28   #3
portible
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 17
По умолчанию

Цитата:
Сообщение от stas_kovel Посмотреть сообщение
Если ты говоришь, что нужно 4*4 матрица, то буде так: int[,] mmas2 = new int[4,4];
В обработчике событий кнопки цикл wile замени на for:
private void button1_Click(object sender, EventArgs e)
{
k = 0;
for (int i = 0; i < 5; i++)
{
if (dataGridView1.Rows[0].Cells[i].Value != null)
{
mas1[i] = Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value.ToString());
if (mas1[i] < 0) k++;
dataGridView1.Rows[0].Cells[i].Value = mas1[i];
label1.Text = ("Количество отрецательных чисел:" + k);
}
}
}
Вопрос: тебе матрицу нужно вводить вурчную или приписать автоматом?
Первое задание я доделал, со вторым не могу разобраться, там В dataGridView2 есть 4 строки и 4 столбца их автоматом нужно заполнить, и нажатием кнопки "Заменить нули" все цифры которые не НОЛЬ заменить на ОДИН, в проекте который прикрепил понятней будет.
portible вне форума Ответить с цитированием
Старый 04.11.2012, 16:59   #4
stas_kovel
Пользователь
 
Регистрация: 15.03.2012
Сообщений: 28
По умолчанию

Попробуй циклом foreach(int element in mmas2) { if (mmas2[i,j] != 0) mmas[i,j]=1 }
если не пошло, то циклом for пройдись по элементам матрици, и замени ненулевые элементы на 1.
stas_kovel вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Visual Studio 2010 и SharePoint 2010 glinka-82 Общие вопросы .NET 0 21.03.2012 22:37
добавление библиотеки в embarcadero rad studio 2010 (c++ builder 2010) Cenitel Помощь студентам 1 14.05.2011 16:32
GlScene и Embarcadero Rad Studio 2010 (Delphi 2010) Fiery Fox Мультимедиа в Delphi 4 19.11.2010 21:46