Завожу значения в массив, в следующем цыкле пытаюсь вывести его, выводит совершенно другой массив.
Что я делаю не так?
Просто раньше изучал немного C#. Думал не так сложно будет перейти на плюсы. Как понимаю C++ более направлен на оптимизацию памяти.
#include "pch.h"
#include
int main()
{
setlocale(LC_ALL, "Russian");
int n, c;
std::cin >> n;
std::cin >> c;
int *a = new int[n, c];
for (int i = 0; i < n; i++) {
for (int j = 0; j < c; j++) {
a[i, j] = rand() % 15 - 10;
std::cout << a[i, j] << "\t";
}
std::cout << "\n";
}
std::cout << "\n";
std::cout << "\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < c; j++) {
std::cout << a[i, j] << "\t";
}
std::cout << "\n";
}
delete[] a;
system("pause");
}
Другие языки программирования и технологии
Всем привет. Никак не могу понять динамически массивы в C++.
у тебя код капец не читаемый, не помню как в с++ но в делфи для все обектов массива нужно обявлять длинну
var A: array of integer;
begin
SelLength(A,999);
for integer(var B):=0 do
begin
A[B]:=Random(MAX_INT);
inc(B);
end;
после работы через обнуление или уничтожение снова с многомерными также
var A: array of integer;
begin
SelLength(A,999);
for integer(var B):=0 do
begin
A[B]:=Random(MAX_INT);
inc(B);
end;
после работы через обнуление или уничтожение снова с многомерными также
Павел Тимошенко
А у него с длинной все в порядке и объявлен правильно - тип, длина! Но!!!! Динамический массив это линейная область памяти и объявлять нужно n*c и следить за строками и колонками будешь сам!!
>Как понимаю C++ более направлен на оптимизацию памяти.
Это просто совершенно разные языки.
std::cout << "\n";
std::cout << "\n";
А написать один раз
std::cout << "\n\n";
это не легче было бы, чем вот эдак копипастить?
Поправил малец:
int main()
{
int n, c;
std::cin >> n;
std::cin >> c;
int** a = new int*[n];
for (int i = 0; i < n; i++)
{
a[i] = new int[c];
for (int j = 0; j < c; j++)
{
a[i][j] = rand() % 15 - 10;
std::cout << a[i][j] << "\t";
}
std::cout << "\n";
}
std::cout << "\n\n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < c; j++)
std::cout << a[i][j] << "\t";
std::cout << "\n";
}
}
Это просто совершенно разные языки.
std::cout << "\n";
std::cout << "\n";
А написать один раз
std::cout << "\n\n";
это не легче было бы, чем вот эдак копипастить?
Поправил малец:
int main()
{
int n, c;
std::cin >> n;
std::cin >> c;
int** a = new int*[n];
for (int i = 0; i < n; i++)
{
a[i] = new int[c];
for (int j = 0; j < c; j++)
{
a[i][j] = rand() % 15 - 10;
std::cout << a[i][j] << "\t";
}
std::cout << "\n";
}
std::cout << "\n\n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < c; j++)
std::cout << a[i][j] << "\t";
std::cout << "\n";
}
}
Главная ошибка - неправильное использование оператора "запятая"
arr[i,k] абсолютно то-же самое, что и arr[k]
а двумерный массив записывается так arr[i][k]
arr[i,k] абсолютно то-же самое, что и arr[k]
а двумерный массив записывается так arr[i][k]
cppstudio.com/post/432/
Двумерный динамический массив выделяется иначе чем у вас это реализовано. Или я не знаю такого способа. Читаем, просвящаемся, пробуем выделить так же как в примере.
Двумерный динамический массив выделяется иначе чем у вас это реализовано. Или я не знаю такого способа. Читаем, просвящаемся, пробуем выделить так же как в примере.
Чынгыз Мамыралиев
Да вроде нашел как объявляется двумерный массив, спасибо.
Просто делал по аналогии как и с одномерным массивом, а в итоге шиш)
Просто делал по аналогии как и с одномерным массивом, а в итоге шиш)
Похожие вопросы
- Здравствуйте. Никак не могу понять как нужно работать в Visual C++ 2010. Я только начинающий. Делаю следующее. Создаю
- Зачем нужны классы в c++? Никак не могу понять... Что такое private, public зачем они нужны и т. д?
- Хочу изучить SQl но никак не могу понять как использовать ее на практике. Помогите разобраться!!!
- Не могу понять в сем ошибка C++
- Помогите плиз с массивом по паскалю!!))никак не могу решить(((
- Не могу понять где элемент массива?
- Найти элементы, принадле-жащие и тому и другому массивам на C++
- Помогите. Не могу понять как работает поиск максимального элемента массива!!
- вопрос про массив одномерный C++ (вопрос отредактирован)
- Как описать и использовать динамический массив в C++