Автор Тема: Помогите построить квадратную матрицу порядка 2n  (Прочитано 5693 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sovest

  • Новичок
  • *
  • Сообщений: 9
  • я одна...
    • Просмотр профиля
1.   Построить квадратную матрицу порядка 2n:
 Матрица размещается в памяти динамически с помощью операции new, значение n вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести полученную матрицу.

в лекциях не могу найти инициализацию массива через эту операцию. есть пример на одномерный int *mass= new int[n], если делаю int *mass= new int[n][n]; пишет что вторая n должна быть константой даже если беру другую переменную, что делать?
« Последнее редактирование: 05 Декабря 2010, 15:03:08 от Asix »
Ночью никогда не спит. странная… Строгая,наверное красивая. Вечная.Не хватает вдохов.Задыхается. Она пишет, что счастливая... Притворяется...

Оффлайн testtest

  • Старожил
  • ****
  • Сообщений: 376
    • Просмотр профиля
c#?
int[,] a = new int[5,6];
« Последнее редактирование: 05 Декабря 2010, 15:03:14 от Asix »

Оффлайн sovest

  • Новичок
  • *
  • Сообщений: 9
  • я одна...
    • Просмотр профиля
не идет=(
   int m;
   printf ( "vvedite znach peremennyh m cherez probel\n" ); // подсказка для ввода
   scanf ("%d", &m); // ввод данных
   int *a = new int[m,m];
так или я совсем запуталась?
« Последнее редактирование: 05 Декабря 2010, 15:03:20 от Asix »
Ночью никогда не спит. странная… Строгая,наверное красивая. Вечная.Не хватает вдохов.Задыхается. Она пишет, что счастливая... Притворяется...

Оффлайн testtest

  • Старожил
  • ****
  • Сообщений: 376
    • Просмотр профиля
в C++ вот так:
#include <iostream>

int main( int argc, char *argv[] )
{
    unsigned int n;
    std::cout << "n = ";
    std::cin >> n;
    unsigned int w = 0;

    int **A = new int*[n];
    for ( unsigned int i = 0; i < n; ++i )
    {
        A[i] = new int[n];
        for ( unsigned int j = 0; j < n; ++j )
        {
            A[i][j] = ++w;
        }
    }


    for ( unsigned int i = 0; i < n; ++i )
    {
        for ( unsigned int j = 0; j < n; ++j )
        {
            std::cout << A[i][j] << "\t";
        }
        std::cout << std::endl;
    }
    
    for ( unsigned int i = 0; i < n; ++i )
    {
        delete A[i];
    }
    delete A;
    
    return 0;
}


а вообще можно и нужно воспользоваться std::vector < std::vector < int > >
« Последнее редактирование: 05 Декабря 2010, 15:03:28 от Asix »

Оффлайн sovest

  • Новичок
  • *
  • Сообщений: 9
  • я одна...
    • Просмотр профиля
спасибо, буду разбираться что откуда=) ::)
« Последнее редактирование: 05 Декабря 2010, 15:03:37 от Asix »
Ночью никогда не спит. странная… Строгая,наверное красивая. Вечная.Не хватает вдохов.Задыхается. Она пишет, что счастливая... Притворяется...