Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Копирую строчки двумерного массива и программа начинает вести себя странно https://www.cyberforum.ru/ cpp-beginners/ thread341725.html
В общем, есть некоторый полузапиленный код. #include <iostream> #include <cstdlib> #include <stdlib.h> #include <conio.h> #include <time.h> using namespace std; void showmass(int**, int, int); void showmass(int*, int);
C++ При компиляции не может найти хеадер
Написал программу.. она пашет, но когда весь код в main.cpp. Решил ее усовершенствовать, чтобы мейн имел красивее вид, сделал вот так: main.cpp: #include <iostream> #include <fstream> #include "clRead.h" int main(){ ifstream iF("One.txt", ios::in);
C++ Бот https://www.cyberforum.ru/ cpp-beginners/ thread341691.html
Порекомендуйте библиотеки для имитации нажатия клавиш, кнопок мыши и анализа пикселей с экрана. Хочу написать простенького бота для онлайн игры.
C++ Как убрать знак минус https://www.cyberforum.ru/ cpp-beginners/ thread341681.html
У меня int a = -7. Как программно получить a = 7?
Пояснить про const в возвращаемом типе функции C++
когда может понадобится написать такое: const int func(int i) { return i+5; } вопрос конкретно за const
C++ Кольсольное приложение win32 или CLR https://www.cyberforum.ru/ cpp-beginners/ thread341677.html
Привет Возникла делема помогите советом. язык C++ где лучше писать на консольном приложении win32 или на консольном приложении CLR ? Если есть ещё кроме них какие то варианты то буду рад их посмотреть.
C++ Орфография https://www.cyberforum.ru/ cpp-beginners/ thread341665.html
class CClass { private: int someValue; public: CClass() {someValue = 0} }; а теперь точно такой же но с ;
C++ mcisendstring
Привет! Есть такая тема. Начинаю разбираться с функциями windows, дошел до mcisendstring. Написал следующее: #include <cstdlib> #include <iostream> #include <windows.h> #include <string> using namespace std;
C++ Область видимости переменной https://www.cyberforum.ru/ cpp-beginners/ thread341659.html
#include <iostream> int main() { int i = 5; for(int i = 0; i < 5; i++) { //здесь } return 0;
C++ Как получить опыт Здравствуйте все. С самого начала изучения C++ у меня было больше теории нежели практики. Сейчас я знаю основы программирования на С++, хочу получить практику и участвовать в каком-то проекте. Готов работать бесплатно, лишь бы практика была. Что Вы мне посоветуете? Как правильно продолжить путь изучения С++, чтобы в дальнейшем получить высокооплачиваемую работу? https://www.cyberforum.ru/ cpp-beginners/ thread341620.html
C++ Границы массива
Пришла ночью дурная идея... как определить конец массива: int main(int argc, char *argv){ int *p, A={1, 2, 3}; p = &A; while(p != NULL){ cout<< *p<< endl; p++; getch(); } system("PAUSE");
C++ Алгоритм нахождения минимального конечного автомата https://www.cyberforum.ru/ cpp-beginners/ thread341589.html
Данный алгоритм уже давно известен, а мне нужен его код на с++. Не хотелось бы изобретать велосипед и запариваться с написанием своего кода. Поэтому если кто то знает где взять исходник, будте добры скинуть ссылочку!!! Буду очень благодарен!!!
640KB мне хватило на всё.
119 / 50 / 3
Регистрация: 07.06.2009
Сообщений: 442
0

Что такое двумерный массив? - C++ - Ответ 1910464

13.08.2011, 23:24. Показов 2159. Ответов 13
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Не буду долго объяснять мотивы subj-а, но не получается организовать работу с матрицей как с массивом векторов.

Пытаюсь написать цикл просмотра массива с использованием указателя на элемент в качестве счетчика.

Для вектора
C++
1
2
int b[5]={1,2,3,4,5};
for (int *i=b; i<b+5; ++i) std::cout<<*i<<' ';
Для матрицы, если считать что структура представлена вектором в котором строки последовательно сомкнуты, получается так
C++
1
2
3
4
5
int a[3][5]={{11,12,13,14,15},{21,22,23,24,25},{31,32,33,34,35}};
for (int *i=*a; i<*(a+3); i+=5)
{ for (int j=0; j<5; ++j) std::cout<<*(i+j)<<' ';
  std::cout<<std::endl;
}
это не устраивает тем, что счетчик-указатель внешнего цикла указывает на элемент матрицы (int *), а не на строки, и требуется приращение 5 (длинна строк), а не 1.

Пытаюсь написать
C++
1
2
3
4
5
int a[3][5]={{11,12,13,14,15},{21,22,23,24,25},{31,32,33,34,35}};
for (int **i=a; i<a+3; i+=1)
{ for (int *j=*i; j<*i+5; ++j) std::cout<<*j<<' ';
  std::cout<<std::endl;
}
test.cpp:57: error: cannot convert 'int (*)[5]' to 'int**' in initialization
test.cpp:57: error: comparison between distinct pointer types 'int**' and 'int (*)[5]' lacks a cast
57 строка в файле == 2 строка в примере.

Не понимаю, почему указатель совместим с вектором, а указатель-на-указатель не совместим с указатель-на-вектор?
Из этого следует сделать вывод, что n-мерный массив - это n-мерный массив, а не вектор (n-1)-мерных массивов!? Косвенно это подтверждается тем, что sizeof от матрицы пропорционален размеру матрицы, т.е. указателей на строки не создаётся.

Вернуться к обсуждению:
Что такое двумерный массив? C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2011, 23:24
Готовые ответы и решения:

Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами?

Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?

Что такое бинарный массив
Создать бинарный массив размером 20 и проверить если ли в нем элемент. Вопрос: бинарный массив это...

Что такое массив строк?
Что такое массив строк и как его ввести/вывести? Напишите, пожалуйста, код

13
13.08.2011, 23:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.08.2011, 23:24
Помогаю со студенческими работами здесь

Что такое хэндлер файла? Что такое файловый указатель?
Что такое хэндлер файла? Что такое файловый указатель?

Массив фиксированного размера может быть динамическим? Что такое "динамический массив"?
есть код string line; char *dup=new char; Я так понимаю создается динамический массив...

Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из...

Объясните что такое массив объединений и с чем его едят
Написать программу удаления заданного числового значения из массива объединений. Объясните что...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru