Другие языки программирования и технологии

помогите пожалуйста кто смыслит в C# или в C++, очень нужна ваша помощь, нужен код программы, точнее двух

1.В одномерном массиве удалить нулевые элементы и подсчитать, каких чисел (положительных или отрицательных) больше.
2.Сформировать квадратную матрицу A таким образом, чтобы элемент с индексом [i,j] был равен двузначному числу, где старшая цифра числа - I, младшая – j. Например, A [2,3]=23, A[1,5]=15.
1. C++

#include <ctime>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <functional>

using namespace std;

int main() {
    srand(time(0));
    int n;
    cout << "n? ";
    cin >> n;
    int *a = new int[n], *e = a + n;
    cout << "массив: \n";
    for (int *i = a; i < e; ++i) cout << ' ' << (*i = rand() % 11 - 5);
    e = remove_if(a, e, bind2nd(equal_to<int>(), 0));
    cout << "\nпреобразованный массив: \n";
    for (int *i = a; i < e; ++i) cout << ' ' << *i;
    int neg = count_if(a, e, bind2nd(less<int>(), 0)), pos = e - a - neg;
    cout << "\n" << (neg > pos ? "отрицательных больше\n" :
                    (neg < pos ? "положительных больше\n" :
                    "отрицательных и положительных поровну\n"));
    delete[] a;
    return 0;
}
=Анатолий =
=Анатолий =
57 492
Лучший ответ
2.
for( int i = 0; i < 9; i++ )
{
for( int j = 0; j < 9; j++ ) A[ i ][ j ] = 10*i + j;
}
1.
int zeros = 0;
for( int i = 0; i < n; i++ )
{
if( array[ i ] == 0 ) zeros++;
}
int* new_array = new int[ n - zeros ];
int pos = 0;
int cur = 0;
for( int i = 0; i < n; i++ )
{
if( array[ i ] != 0 )
{
new_array[ cur++ ] = array[ i ];
if( array[ i ] > 0 ) pos++;
}
}
int neg = n - zeros - pos;
2) во вложенном цикле заполняете матрицу элементами a [ i, j ] = i*10 + j ;
HH
Hamra Hemrayev
34 293