singlepost

C#, помогите, массив правильно реализовать,please << На главную или назад  

Значит вот такая задача
Составить 2-о мерную матрицу, в которой будут записаны цифры от 1 до N в 2-й форме исчисления, так что бы каждый символ был отдельным элементом матрицы. Матрица должна иметь размерность [n,k] где ( k-заведомо заданное число)

уже написал код но он работает не правильно, помогите исправить

пример n=7; k=4;
массив приобретает такие значения

1000
1000
1100
1000
1010
1100
1110

а нужно

1000
0100
1100
0010
1010
0110
1110

вот код
string[] BinVector = new string[n];
int i2 = 0;
int i2b = 0;

for (i2 = 0; i2 < n; i2++)
{
i2b = i2+1;

BinVector[i2] = Convert.ToString(i2b, 2);

}
int[ , ] BinVekFormat = new int[n,k];
int iN = 0;

for (i2 = 0; i2 < n; i2++)
{
int jK = 0;

foreach (char ctrCkn in BinVector[i2])
{

BinVekFormat[iN, jK] = int.Parse(ctrCkn.ToString());
jK++;

}

iN++;

}

5 ответов в теме “C#, помогите, массив правильно реализовать,please”

  1. 3
    Денис Зиневич ответил:

    ты гений!! спасибо !!!

  2. 2
    Женя Глебов ответил:

    int n = 15;
    int k = 8;
    string tempStr;// одна строка в 2x
    char [] tempChars = new char[k];//Временная строка
    string[] num2x = new string[n];//заполняется готовыми строками
    for (int i = 0; i < n; i++)
    {
    tempStr = Convert.ToString(i, 2);//число в двоичной системе
    int l = tempStr.Length – 1;
    //заполнение временной строки нулями и единицами
    for (int j = k-1; j >= 0; j–)
    {
    if(l >= 0)
    tempChars[j] = tempStr[l];
    else
    tempChars[j] ='0';
    l–;
    }
    num2x[i] = new string(tempChars);
    Console.WriteLine(num2x[i]);
    }
    Console.ReadKey();
    //============Выводит:==========================
    00000000- 0
    00000001- 1

    00001110 -14

  3. 1
    Женя Глебов ответил:

    n – количество цифр, а к – что ? количество символов в одном элементе ?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.