Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Использование set https://www.cyberforum.ru/ cpp-beginners/ thread543217.html
Приветствую. Что-то я совсем глупый вопрос задам, но понять, где тут ошибка никак не могу: #include <iostream> #include <vector> #include <set> #include <utility> typedef std::set <std::pair <std::string, std::string> > myData;
C++ Архиваторы
Доброго всем дня. Может ли кто-нибудь посоветовать простые программы по созданию архиватора? Обыскала чуть ли не весь интернет, но ничего нормального не нашла. В программировании не разбераюсь, а потому помощи прошу у вас) Заранее благодарю.
C++ создание классов https://www.cyberforum.ru/ cpp-beginners/ thread543205.html
создать класс который осуществляет вывод на экран таблицы умножения с++
C++ Составить массив B так, чтобы элементы массива A[0..6, 0..6] следовали в нем в последовательности диагоналей параллельно побочной диагонали Дали лабораторную работу по информатике Задание: Составить массив В так, чтобы элементы массива A следовали в нем в последовательности диагоналей параллельно побочной диагонали и начинались с a, a, a... Помогите! Двумерный массив создаю, а дальше не знаю как. #include <stdio.h> #define N 7 #define M 7 #define N_MAX 50 #define N_MIN 1 int main(void) { https://www.cyberforum.ru/ cpp-beginners/ thread543192.html
C++ Почему выдает ошибку в строке "src.erase(p);"
Задача из Bjarne Stroustrup - "The C++ Programming Language(3rd edition)": 6.3. (*2) Read a sequence of possibly whitespaceseparated (name,value) pairs, where the name is a single whitespaceseparated word and the value is an integer or a floatingpoint value. Compute and print the sum and mean for each name and the sum and mean for all names. 6.12. (*2) Modify the program from §6.6 to also...
C++ Заменить в строке все цифры 0, 1, 2, 3, ....., 9 на "ZERO","ONE","TWO","THREE", ....., "NINE" соответственно Совсем недавно, точнее сейчас, доделал программу, которая выполняет следующее задание: Заменить в строке все цифры 0, 1, 2, 3, ....., 9 на "ZERO","ONE","TWO","THREE", ....., "NINE" соответственно. В программе использовались структуры, функции, файлы(ввод/вывод). По поводу ввода: он не совсем корректно работает. Что я имею ввиду: допустим, в файле несколько строк. В программе задается сколько... https://www.cyberforum.ru/ cpp-beginners/ thread543136.html
C++ Табуляция функции - не сходится ответ https://www.cyberforum.ru/ cpp-beginners/ thread543119.html
Функция: Cn(x)=\gamma +\ln x+\int_{0}^{x}\frac{t-1}{t}dt Ряд Тейлора: Cn(x)=\gamma + \ln x +\sum_{n=1}^{\propto }\frac{{-1}^{n}{x}^{2n}}{2n(2n)!} Результат: Sum T - ряд Тейлора, Sum F(x) - приближенной значение функции в точке Ответ не сходится, никак не могу понять в чем дело:wall:
Добавить столбцы после каждого парного столбца матрицы C++
Одномерный массив: Удалить N элементов, начиная с номера К Двомерный массив: Добавить столбцы после каждого парного столбца матрицы.
C++ нахождения производной Подскажите пожалуйста как релизовать вычисления производной функции одной переменной. Заранее спасибо. https://www.cyberforum.ru/ cpp-beginners/ thread543084.html C++ Упорядочить массив https://www.cyberforum.ru/ cpp-beginners/ thread543079.html
Здравствуйте. Не могу задать такой массив: 9х9 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 26 2 8 0 0 0 0 0 21 27 3 9 13 0 0 0 18 22 28 4 10 14 16 0 17 19 23 29 5 11 15 0 0 0 20 24 30
сложениe по модулю 2{в 16-й степени} и умножение по модулю (2{в 16-й степени} + 1) C++
пожалуста обьясните что такое сложениe по модулю 2{в 16-й степени} и умножение по модулю (2{в 16-й степени} + 1).и как это реализовать в c++.заранее спасибо
C++ Строки (c++) https://www.cyberforum.ru/ cpp-beginners/ thread543063.html
Помогите разобраться в коде: char *c={"ALL","EARN","OLIVE","ISLAND"}; char **cp={c+3,c+2,c+1,c}; char ***cpp=cp; cout<<(**++cpp+1)<<" "; cout<<(*++*cpp+3)<<" "; cout<<(*cpp+2); cout<<(**++cpp)<<endl; как вообще и что тут происходит?
4264 / 3323 / 925
Регистрация: 25.03.2012
Сообщений: 12,519
Записей в блоге: 1
09.04.2012, 17:20 0

Редактор многомерных динамических массивов - C++ - Ответ 2891644

09.04.2012, 17:20. Показов 1528. Ответов 14
Метки (Все метки)

Ответ

короче мой вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
int** allocate2d(int m, int n){
  int** ppi;
  int* pi;
  int i;
  ppi=(int**)malloc(m*sizeof(int*));
  pi=(int*)malloc(n*m*sizeof(int));
  for (i=0; i<m*n; i+=n){
    ppi[i]=pi+i;
  }
  return ppi;
}
Но так как ТС по-видимому только начал изучать Си, в указателях ему ещё предстоит разбираться.
Про это я и говорил выше. В Си, в отличие от Паскаля, не разобравшись в работе памяти, с массивами, а тем более с динамическими 2d массивами лучше не начинать работать.

Добавлено через 37 минут
Цитата Сообщение от Hqw33 Посмотреть сообщение
int arr[row][col];
Hqw33, то что ты объявил - это массив размера row из row штук массивов размера col
массив массивов.
Компьютерная память вообще линейна, все 2D 3D и прочие массивы существуют только в нашей голове.
В си нам даётся только одномерный массив,
Для обращения к массиву в памяти, нам нужен только адрес его первого элемента
То есть в row содержится адрес начала массива, применяя к которому оператор []
мы совершаем действие аналогичное *(arr+i), которое в свою очередь возвращает нам i-й ряд
Но i-й ряд тоже является массивом из column элементов, а значит хранится в памяти как адрес первого элемента
Применяя к нему оператор разадресации получаем *( *(arr+i) + j ) это и будет эквивалентно arr[i][j]
Но это не значит что массив многомерен.
Если посмотрите в мой пример, в нём я все m*n штук элементов создаю в одном линейном куске памяти,
И затем Создаю массив указателей, которые уже указывают, откуда в этом куске начинается первая строка, откуда вторая, откуда i-я
Через возвращаемый указатель на указатель мы можем обращаться к массиву, как к двумерному,
но в памяти он лежит одним линейным куском размера m*n

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

Обработка многомерных массивов
Создать многомерный массив 4x4.Вывести на экран минимальное значение многомерного массива.

Обработка многомерных массивов
Создать многомерный массив 3x3 элементов.Сделать Разность по горизонтали. Три полученых результата...

Быстрая инициализация многомерных массивов
Доброго времени суток. Работаю на QT Creator в связке с MinGW 32 Проблемы в общем то и нет,...

Не понимаю структуру многомерных массивов
Итак, по психологии я чистый визуал и мне, чтобы что-то сделать, нужно четко представлять это в...

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

Программирование обработки многомерных массивов
Дана целочисленная прямоугольная матрица. Определить: количество строк, содержащих хотя бы один...

Передача многомерных массивов в функцию
Привет. Почему при передаче многомерного массива в функцию необходимо обязательно указывать...

Передача в поток многомерных массивов по указателю
Доброго всем времени суток. У меня возникло непонимание того, как можно передать двумерный...

Составление программ с использованием многомерных массивов
Задание1: С помощью генератора случайных чисел сформировать матрицу A (5x5) числами от -100 до 100...

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