![Цитата](images/wow-circle/misc/quote_icon.png)
Сообщение от
Slinkorn
можешь не решать)уже завалил сегодня)
ты гониш? как такую задачу можно завалить?
всё же предельно просто. на будущее. объяню на примере псевдокода C#
вначале надо было пройтись по всем элементам матрицы с условием if с проверкой на не ноль. (т.е. не равны которые нулю). сразу же в этом условии просто загонять их надо было в массив. как бы я делал.
//определяем размерность матрицы
PHP код:
int k, l, i; //k - строки l - столбцы i - для массива
//зададим по умолчанию для матрицы
k = 4;
l = 5;
i = k * l;
//т.к. для будущего массива ты должен сразу выделить память и если он будет меньше чем кол-во элементов в матрице, точнее тех элементов которые надо вставить в него, то ты получишь исключение типа "выход за пределы массива"
//создаём нашу матрицу и наш массив, думаю это под силу сделать тебе, на шарпе это было так:
PHP код:
int[,] D = new int[k,l];
int[] E = new int[i];
//теперь когда массивы созданы, можно приступить к их заполнению
матрица заполняется через двойной цикл
PHP код:
for(int j=0; j< k; j++)
for(int u=0; u< l; u++)
D[j,u] = Convert.ToInt32(Console.Read());
//как только заполнили надо тебе устроить по этим элементам проверку на "не ноль". делается это также
PHP код:
int y=0;
for(int j=0; j< k; j++)
for(int u=0; u< l; u++)
if (D[j,u] != 0)
{
E[y] = D[j,u];
y++;
}
//так как мы изначально сделали массив "с запасом места"
то у нас будут значения 0 (Null) в нём на местах куда мы не вставили ненулевые элементы из матрицы, а так как нам надо подсчитать кол-во ненулевых элементов, то просто делаем цикл по массиву E с проверкой опять же на не 0 (NULL) в каком языке как.
PHP код:
int count=0; //счётчик элементов
for (y=0; y<i; y++)
if (E[y] != 0) // (E[y] != NULL)
{
count++;
}
//выводим наш счётчик на экран - задача сделана
Console.WriteLine(Convert.ToString(count));
это самый простой для понимания вообще сути таких задач.
написанный алгоритм мной не оптимален т.к. в памяти остаются куски от массивов что не есть оч хорошо. но для "абы работало и сдать и понять" это то что надо.
в шарпе можно было не считать непосредственно эти элементы как я сделал. а просто взять E.Length и это и было бы твоё кол-во ненулевых элементов.