Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Марселька
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 50
#1

Матрица "большой" размерности - C++

07.10.2013, 21:45. Просмотров 388. Ответов 7
Метки нет (Все метки)

Здравствуйте. Не могу составить матрицу "большой" размерности. Начиная с [8x8] строятся с какой то ошибкой.([9x9] почему то нормально работает)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
int main()
{
    int i,j,n;
    cout<<"[nxn]: ";
    cin>>n;
    int A[n][n];
    for (i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    A[i][j]=rand()%(2);
    cout<<"A[nxn]:"<<endl;
    for (i=1;i<=n;i++)
    { for(j=1;j<=n;j++)
    cout<<A[i][j]<<" ";
    cout<<endl;}
    getch();
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2013, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрица "большой" размерности (C++):

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

Определить базовый класс "Матрица" и класс-потомок "Треугольная матрица" - C++
Нужно определить класс &quot;матрица&quot; с возможностью динамического выделения и освобождения памяти, наполнения матрицы, сохранения и чтения из...

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

Класс "Матрица". Перегрузка оператора "минус" - C++
Помогите дописать программу или исправить ее. Нужно было написать программу, где создать класс матрицы, используя двухмерный динамический...

Композиция классов "Матрица" и "Вектор" - C++
Люди добрые, здравствуйте. недавно в одной из тем был выложен вот такой класс вектор: на основе этого класса нужно разработать класс...

Класс "Матрица". "Правило трёх" - C++
Проблема в том, что я не могу вернуть тип данных &quot;Матрица&quot;.Что я делаю не так понял в ООП? // matrica.cpp : Defines the entry point for...

7
justDo
8 / 8 / 2
Регистрация: 06.10.2013
Сообщений: 19
07.10.2013, 22:13 #2
Марселька, это не должно работать. размерность матрицы должна быть константной.
цикл должен идти от 0 до n(строгое неравенство)

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
#include <iostream>
#include <conio.h>
using namespace std;
 
int main()
{
    const int n = 9;
    int A[n][n];
 
    for (int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            A[i][j] = rand()%2;
 
    cout << "A[nxn]:" << endl;
 
    for (int i = 0; i < n; i++)
    { 
        for(int j = 0; j < n; j++)
            cout << A[i][j] << " ";
        cout << endl;
    }
 
    system("pause >> void");
}
0
Fyret
185 / 171 / 13
Регистрация: 30.07.2013
Сообщений: 359
07.10.2013, 22:13 #3
Индексы массивов начинаются с 0.
0
justDo
8 / 8 / 2
Регистрация: 06.10.2013
Сообщений: 19
07.10.2013, 22:15 #4
Марселька, если хотите менять размерность массива из программы, то используйте динамические массивы, или вектора из стандартной библиотеки
0
Toshkarik
1143 / 860 / 51
Регистрация: 03.08.2011
Сообщений: 2,390
Завершенные тесты: 1
07.10.2013, 23:44 #5
Цитата Сообщение от justDo Посмотреть сообщение
это не должно работать. размерность матрицы должна быть константной.
http://en.wikipedia.org/wiki/Variable-length_array
Если используется, к примеру, gcc, то в полне будет работать.
1
justDo
8 / 8 / 2
Регистрация: 06.10.2013
Сообщений: 19
07.10.2013, 23:55 #6
Toshkarik, совсем забыл про это. спасибо )
0
Марселька
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 50
08.10.2013, 16:06  [ТС] #7
спасибо, все работает теперь)
0
CheshireCat
Эксперт С++
2895 / 1244 / 78
Регистрация: 27.05.2008
Сообщений: 3,397
08.10.2013, 16:14 #8
Работать-то будет.... Только Марселька должен(-на) отдавать себе отчет в том, что VLA - это нестандартное расширение GCC, и при переходе на другой компилятор все сломается.
0
08.10.2013, 16:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2013, 16:14
Привет! Вот еще темы с ответами:

Класс "Матрица", перегрузка оператора "+" - C++
Здравствуйте. Создаю класс матрица, в нём перегружаю оператор &quot;+&quot;. На этапе компиляции всё замечательно, но при запуске программа вылетает....

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать абстрактный класс "Издание" и производные классы "Книга", "Статья", "Электронный ресурс" - C++
1. Создать абстрактный класс Издание с методами, позволяющими вывести на экран информацию об издании, а также определить является ли данное...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru