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

Преобразование нединамического двумерного массива через указатели - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка функции int double http://www.cyberforum.ru/cpp-beginners/thread1306251.html
Напишите функцию max с переменным количеством параметров, которая находит минимальное из чисел типа int или из чисел типа double, тип параметров определяется с помощью первого параметра функции....
C++ Необходимо написать программу, выводящую все множества чисел из массива Пример: Массив: {1,10,2} Вывод: 1 2 10 1,2 1,10 2,10 Или что-то похожее. Размер массива можно менять. http://www.cyberforum.ru/cpp-beginners/thread1306241.html
Компиляция программы, использующей PDcurses C++
Здравствуйте. Хочу испытать PDcurses под windows. Я скачал вот этот архив и скомпилировал его(там внутри был makefile) и получил файл pdcurses.a Затем создал проект в Code::Blocks и добавил к нему...
C++ Определить координаты четвертой вершины прямоугольника
Пусть даны координаты трех вершин прямоугольника. Определите координаты четвертой вершины.#include<stdio.h> #include<conio.h> int main() {int x1,y1; printf("Vvedite x1 y1:"); scanf("%d, %d",...
C++ Подсчет времени выполнения функции http://www.cyberforum.ru/cpp-beginners/thread1306233.html
Делаю 2 вида сортировки, не знаю как подсчитать их время. #include <iostream> #include <time.h> #include <conio.h> using namespace std; void QSsort(int array,int first,int last); void...
C++ Определить первый отрицательный член Дано число L. Определить первый отрицательный член последовательности x1,x2,x3,..., где x1=L, xi=tg(xi-1). подробнее

Показать сообщение отдельно
Nosey
1348 / 399 / 107
Регистрация: 22.10.2014
Сообщений: 861
Завершенные тесты: 2
20.11.2014, 20:26
C++
1
data arr[I][J];
не есть двумерный массив, это одномерный массив размером I*J.
Такой записью его можно создать только на стеке, либо же в глобальной области памяти и с константным размером -> компилятор предоставляет синтаксическую плюшку для доступа к элементам превращая arr[i][j] в *(arr+i*J+j).

Ваши оба алгоритма неверны, в первом случае, вы разыменовываете не указатель а значение массива и выходите за пределы вашей памяти.
Во втором случае, вы перебираете только 9 элементов, а не 20.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru