C++, Транспонированная матрица

Не хватало транспонированной матрицы:

Upd: Транспонированная матрица на java

Способ без использования динамической памяти (n не больше ста):

#include <iostream>
#include <time.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
    const int maxsize = 100;
    int a [maxsize][maxsize], n;
    int temp;
    cout << "n=";
    cin >> n;

    if (n > maxsize)
    {
        cout << "n is too lage...";
        system("pause");
        return -1;
    }
    srand(time(NULL));
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            a[i][j] = rand() % 10;
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    for(int i=0;i<n;i++) 
    { 
        for(int j=i;j<n;j++) 
        {
            temp=a[j][i];
            a[j][i]=a[i][j];
            a[i][j]=temp;
        }
    }
    cout << "Transp.:" << endl;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            cout << a[i][j] << " ";
        }
        cout << endl;
    }
    system("pause");
    return 0;
}

Пример работы программы

С++, найти некоторые числа

Интересная попралась задачка.

Напишите программу которая найдет три нечетных числа, идущих подряд, для которых правдивы утверждения:a < b < c, и a2+b2+c2 равно четырехзначному числу у которого все цифры одинаковы (т.е 1111, 8888 итп).

Continue reading

C++: четное число

Функция простая, но кому-то возможно сократит время, поиска или решения задачи.

Из Википедии, четное число, то число, которое делится без остатка на 2.

Функция на си:

bool is_even_number(int a)
{
	return a % 2 == 0;
}

Возвращает true, если число четное и false в противном случае.

Android: Не удается обнаружить телефон (HTC Wildfire S)

Установив все, что нужно для разработки на Android в Ubuntu, у меня возникла проблема. Я захотел протестировать работу приложения (это был Hello word, ну да не важно) на реальном устройстве и… оно отображалось некорректно. Вопросики в названии и модели устройства. Вообще с моим телефоном в этом плане тяжело. На Windows — вообще не находит — как я добился того, чтобы определялся, написано тут, там же написано как в целом тестировать на реальном устройстве. Ну да меня унесло опять на Windows, вернусь :)

Continue reading

Android: Установка среды разработки на Ubuntu 12.10

И добрался я до Линукса :) Когда-то писал я о том, как настраивается Eclipse для разработки под Android в Windows 7, но можно работать и из-под бесплатного-свободного-открытого Linux. Ubuntu кажется мне наиболее дружественной и простой (про Юнити, тихо, пожалуйста :) ) Давайте я покажу, как все просто настраивается на Ununtu.Как я уже написал, буду использовать Ubuntu 12.10, думаю, в других версиях отличия будут невелики.

Continue reading

Автоматизация vmware; Vix API и C#

Порядка недели назад мне потребовалось управлять виртуальной машиной vmware программным путем, желательно из C#. Решение было найдено на CodeProject.

Автор реализовал Vix API на C# и выпустил DLL. Я кратко расскажу об этом проекте на русском языке.

У Vmware имеется мощный API, который позволяет управлять состоянием виртуальной машины, а также запускать внутри нее сторонние приложения, копировать файлы с хоста на гостевую систему и обратно.

Continue reading

Как определить, запущено ли приложение из-под виртуальной машины?

Именно такой вопрос сегодня встал передо мной. Google говорит, что информации много. Стал смотреть.

Первое, что попалось, было это(EN). Статья на сайте хорошая, приложение из комплекта даже работает, если его просто запустить, да и мне кажется, что это наиболее правильный метод определения, но к сожалению… После добавления библиотеки мое приложение перестало работать нормально и вылетало с ошибкой «не является приложением Win32» (Could not load file or assembly ‘VmDetectLibrary.dll’ or one of its dependencies.  is not a valid Win32 application. (Exception from HRESULT: 0x800700C1))

Continue reading

Pascal: Калькулятор для перевода из одной системы счисления в другую

В прошлом году я писал программу для перевода из любой системы в любую систему счисления на си. Теперь потребовалось на Pascal.Функций стало больше. Некоторые пришлось просто копировать с других сайтов (да простят меня авторы)

К сожалению, точность вычислений здесь меньше, чем была на си — всего один знак после запятой точен.

Continue reading

C++: Заполнить матрицу так, чтобы на диагоналях были случайные числа, а остальные-нули

Задача:

Напишите программу, которая принимает с клавиатуры число N, создает матрицу размера N на N, у которой на главной и побочной диагоналях расположены случайные числа, а остальные элементы равны нулю. Затем выведите матрицу на экран.

Задача похожа на предыдущую, с той лишь разницей, что нужно заполнять и побочную диагональ. Для этого я так же воспользуюсь функцией из набора, которая возвращает true, если элемент матрицы (массива) стоит на диагонали. В этот раз на любой из них. Continue reading

С++, Заполнить элементы на побочной диагонали случайными числами, а все остальные нулями

Задача:

Напишите программу, которая принимает с клавиатуры число N, создает матрицу размера N на N, у которой на побочной диагонали расположены случайные числа, а остальные элементы равны нулю. После заполнения выведите матрицу на экран.

Для решения этой задачи я хочу применить функцию, которая определяет, находится элемент массива на диагонали или нет. Таким образом, остается дописать такое условие при заполнении матрицы:

if (isOnPobDiaganal(i,j,n))
    a[i][j] = rand() % 10;
else
    a[i][j] = 0;

То есть, если функция вернула true -> элемент находится на побочной диагонали, и тогда мы заполняем его случайным числом, иначе — нулем.

Continue reading