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

Как получить ссылку на указатель или указатель на указатель в массиве? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ класс для создания календаря http://www.cyberforum.ru/cpp-beginners/thread1031633.html
помогите пожалуйста создать класс для определения дня недели по календарной дате. Дата – три целых числа: число, месяц, год. Диапазон дат – по меньшей мере, два тысячелетия. (Демонстрация применения)
C++ Система счисления Когда делиться а когда умножаются при переводе из одной системы счисления в другую. http://www.cyberforum.ru/cpp-beginners/thread1031629.html
C++ Структура
Мне дана вот такая задача написать программу на : Пункт обмена валюты состоит из таких элементов как : имя точки обмена валюты, курс покупки, курс продажи, адрес пункта, а также телефона. Надо найти адрес пункта который объявил самый низкий курс продажи, телефон пункта и наименование пункта. Возможные варианты 1 наверно надо вывести это на текстовый документ 2 или же на консольном...
Поиск совершенного числа в массиве C++
Необходимо найти в массиве все совершенные числа в диапазоне от n1 до n2. Будем учитывать, что массив уже заполнен. //задаём диапазон исследуемых элементов cout<<"Введите n1 = "; cin>>n1; cout<<"Введите n2 = "; cin>>n2; //находим совершенные числа int x; for(i = mas; i <= mas; n1++){
C++ Считать длину строки текстового файла http://www.cyberforum.ru/cpp-beginners/thread1031583.html
Есть квадратная матрица, которая заполняется данными из файла. Если размерность матрицы больше, чем объём данных в файле, то нужно заполнить недостающие элементы матрицы случайными числами. Пытаюсь сделать так:cout<<"Введите размерность квадартной матрицы: "; cin>>s; int **mas = new int*; ifstream fs; fs.open("input.txt"); int a = fs.getline; if(s > a){ for(i = a + 1; i < s; i++)
C++ Где ошибка? Вот условие -"Ученик на свой ​​день рождения раздал ученикам класса конфеты, в том числе и себе. Ребятам давал четное количество, а девушкам нечетное количество. Подсчитать количество девушек и парней в классе. Формат входных данных Первая строка содержит общее количество учащихся, натуральное число N. В следующих строках количество розданных конфет. Все числа входного файла не превышают 1... подробнее

Показать сообщение отдельно
valera0006
0 / 0 / 0
Регистрация: 12.06.2012
Сообщений: 4
07.12.2013, 17:34  [ТС]     Как получить ссылку на указатель или указатель на указатель в массиве?
Цитата Сообщение от monolit Посмотреть сообщение
C++
1
void SwapStudent(student* first, student* second )
Или еще вариант (использование будет отличаться)
C++
1
void SwapStudent(student& first, student& second ); //так наверное предпочтительнее
А. первый способ не работает, так как в вызываемой функции создаются две локальные переменные типа student* , успешно меняются их значения, а значения mas[i], mas[j] остаются постоянными:

1. В main() вызываем: Swap(&mas[1], &mas[2])

2.
C++
1
2
3
4
5
6
void Swap(student* first, student* second)
{
    student* temp = first; //&first != &mas[i] => создается новая локальная переменная типа student*
    first = second;
    second = temp;
}
3. Ничего не изменилось: main[1] и main[2] ссылаются туда же куда и раньше

Б. второй способ не применим, так как размер student большой, если бы был char или int, тогда, конечно особо разницы бы не было - менять значения переменных или адреса в указателях
 
Текущее время: 09:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru