Форум программистов, компьютерный форум CyberForum.ru

У меня динамическая матрица ? - C++

Восстановить пароль Регистрация
 
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 19:48     У меня динамическая матрица ? #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream> 
using namespace std; 
int main() { 
    int n,i,j;
      float a[100][100];
      cout <<"vv n";
      cin >> n;
      for (i=0;i<n;i++)
      {
          for (j=0;j<n;j++)
          {
      if (i+j==n-1)
          a[i][j]=i+1;
      else
      a[i][j]=0;
          }
        }
       for (i=0;i<n;i++)
      {
          for (j=0;j<n;j++)
          {
              cout<<a[i][j] << " ";
          }
        cout << "\n";
       }
      cin.get();
      cin.get();
      return 0; 
}

Дело в том, что я запуталась, в другой программе, чтобы матрица была динамической, надо было просто она была просто вещественной, никаких new и delete не добавляли. а вот в этом случае как ?? у меня там так то должны быть целые числа...вещественные никак не должны быть. И что мне сделать чтоб она стала динамической?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2013, 19:48     У меня динамическая матрица ?
Посмотрите здесь:

динамическая матрица в си++ C++
Динамическая матрица C++
C++ Динамическая матрица
динамическая матрица C++
C++ двумерная динамическая матрица
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 19:54     У меня динамическая матрица ? #2
Цитата Сообщение от aisylu Посмотреть сообщение
У меня динамическая матрица ?
нет

Добавлено через 4 минуты
вот так можно динамически создать
C++
1
2
3
4
5
6
7
8
9
int **a;
int m, n;       // количество строк и столбцов в матрице
 
cout << "Введите mxn" << endl;
cin >> m >> n;
 
a = new int*[m];
for (int i=0; i<m; i++)
    a[i] = new int[n];
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 20:14  [ТС]     У меня динамическая матрица ? #3
не совсем поняла, у меня же матрица порядка n. как писать в таком случае.
у меня А пишет выражение должно быть доступно для изменения левосторонним значением
v.a.l.i.d
 Аватар для v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
14.01.2013, 20:21     У меня динамическая матрица ? #4
там ничего сложного нет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int main()
{
 
    float **a;
    int  n;       // порядок матрицы
 
    cout << "Введите n" << endl;
    cin >> n;
 
    a = new float*[n];
    for (int i=0; i<n; i++)
        a[i] = new float[n];
 
    for (int i=0; i<n; i++)   // заполнение матрицы
        for (int j=0; j<n; j++)
            a[i][j]= i+1;
 
    for (int i=0; i<n; i++)  // печать
    {
        for (int j=0; j<n; j++)
            cout << a[i][j] << " ";
        cout << endl;
    }
 
    system("pause");
    return 0;
}
Schizorb
 Аватар для Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
14.01.2013, 20:23     У меня динамическая матрица ? #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream> 
using namespace std; 
int main()
{ 
    int n, i, j;
 
    cout << "Enter n: ";
    cin >> n;
 
    int ** a = new int * [n];
    for (i = 0; i < n; ++i)
        a[i] = new int[n];
        
    for(i = 0; i < n; ++i)
    {
        for(j = 0; j < n; ++j)
        {
            if(i + j == n - 1)
                a[i][j] = i + 1;
            else
                a[i][j] = 0;
        }
    }
        
    for(i = 0; i < n; ++i)
    {
        for(j = 0; j < n; ++j)
        {
            cout << a[i][j] << " ";
        }
        cout << "\n";
    }
    
    for(i = 0; i < n; ++i)
        delete [] a[i];
    delete [] a;
    
    cin.get();
    cin.get();
    return 0; 
}
Если нужна целочисленная матрица.
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
14.01.2013, 20:24     У меня динамическая матрица ? #6
Цитата Сообщение от aisylu Посмотреть сообщение
C++
1
...
Дело в том, что я запуталась, в другой программе, чтобы матрица была динамической, надо было просто она была просто вещественной, никаких new и delete не добавляли. а вот в этом случае как ?? у меня там так то должны быть целые числа...вещественные никак не должны быть. И что мне сделать чтоб она стала динамической?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream> 
using namespace std; 
int main() { 
    int n,i,j;
    int * a;
    cout <<"Enter n";
    cin >> n;
    a=new int[n*n]; // выделяем память под n*n эл-тов
    for (i=0;i<n;i++) {
        for (j=0;j<n;j++) {
            if (i+j==n-1)
                a[i*n + j]=i+1;
            else
                a[i*n + j]=0;
        }
    }
    for (i=0;i<n;i++) {
        for (j=0;j<n;j++) {
            cout<<a[i*n + j] << " ";
        }
        cout << "\n";
    }
    cin.get();
    cin.get();
    return 0; 
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.01.2013, 20:24     У меня динамическая матрица ?
Еще ссылки по теме:

Динамическая матрица C++
Динамическая матрица ООП C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
aisylu
1 / 1 / 1
Регистрация: 25.12.2012
Сообщений: 17
14.01.2013, 20:24  [ТС]     У меня динамическая матрица ? #7
ух ты спасибо всем большое!!!!!!!!!!я так благодарна)) а то никогда еще new , delete и указателями не пользовалась))
Yandex
Объявления
14.01.2013, 20:24     У меня динамическая матрица ?
Ответ Создать тему
Опции темы

Текущее время: 10:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru