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

Передача массива по ссылке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести простые числа от M до N http://www.cyberforum.ru/cpp-beginners/thread164015.html
здравствуйте. хочу понять есть ли у меня ошибки в файле 1.cpp. Условие задачи: вывести все простые числа от M до N включительно. в файле in.txt содержится два натуральных числа M и N (2 <= M <= N <= 10^6). В файле out.txt вывести в одной строке через пробел все простые числа от M до N в порядке возрастания. Если таких чисел нет, вывести «Absent».
C++ Чтение массива объектов и регистрация расширения файла Делаю небольшую программу. Она должна открывать некий файл и обрабатываются данные из него. В общем есть некая структура Object. Из файла считывается число n и нужно создать массив этих Object из n элементов. Плюс, желательно сделать, чтобы можно было открыть файл с помощью моей программы. То есть я дважды щелкаю по файлу и открывается моя программа, выполняя определенные действия с этим... http://www.cyberforum.ru/cpp-beginners/thread163966.html
C++ Алгоритм реализации двоичного дерева
Нужно написать реализацию двоичного дерева с использованием шаблонов в упрощенном виде следуя конвенциям STL контейнеров. Основные операции: вставка, удаление, поиск и итератор. >> Абстрактного шаблонного двоичного дерева? Да >> Вставка, удаление, поиск, итератор соответственно писать самому, не используя STL Да То есть. Суть в том, чтобы написать это все без использования STL, но чтобы...
C++ Чтение из файла и сортировка слов
здравствуйте. у меня вопрос по задаче 1.89:сортировка слов производить только по буквам или по буквам и по длине?
C++ Скрытый параметр - казатель this. http://www.cyberforum.ru/cpp-beginners/thread163946.html
Всё написал так. как было написано в листинге 8.8 книги Jessie Liberty. После нажатия на кноку "компилировать" компилятор выдаёт ошибку. #include <iostream> using namespace std; class Rectangle { public: Rectangle();
C++ Оператор выбора switch.C++. Не могу сообразить,как построить switch... По последним цифрам двух натуральных чисел определить последнюю цифру куба разности этих чисел. #include <iostream> #include <math.h> #include <conio.h> using namespace std; int main() { int x, y; подробнее

Показать сообщение отдельно
Vivo
23 / 23 / 2
Регистрация: 27.09.2009
Сообщений: 101
07.09.2010, 00:10     Передача массива по ссылке
Здравствуйте, помогите разобраться с проблемой: Задание состоит в том, чтобы написать две встраиваемые функции сортировки массива с выбором варианта обмена элементов. Первый вариант это передача массива с помощью указателя (это я понял), а вот передача по ссылке никак не получается, получается только передать первый элемент, а вот как дальше перемещаться по массиву не пойму. А в различных темах на форумах разбираются только варианты передачи массива по указателю, а по ссылке везде объясняют, как передаются переменные, а с массивами ничего.Помогите пожалуйста.

Вот что пока получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream.h>
#include <conio.h>
#include <stdlib.h>
 
void random_mass(int *a,int n);
void print_disp(int *a,int n);
void sort(int *a,int n);
void sort1(int &a,int n);
 
 void sort1(int &a,int n)
{
    
}
 
main(){
     clrscr();
     int size;
     cout<<"Введите размерность массива: ";
     cin>>size;
     int choice;
     int *a=new int[size];
     
     random_mass(a,size);
     cout<<"Массив:\n";
     print_disp(a,size);
     cout<<"\n\nВыберите варант обмена (0-по ссылке 1-по указателю): ";
     cin>>choice;
     if (choice) sort(&a[0],size);
///непонятно     else sort(a[0],size);
     cout<<"\nОтсортированный массив:\n";
     print_disp(a,size);
    delete [] a;
    getch();
    return 0;
}
 
void random_mass(int *a,int n)
{
     randomize();
     for (int i=0;i<n;i++)
     a[i]=random(100)-50;
}
 
void print_disp(int *a,int n)
{
     for (int i=0;i<n;i++)
     cout<<a[i]<<" ";
}
 
 void sort(int *a,int n)
{
     for (int i = 1; i < n; i++)
     {
      int t = a[i];
      for (int j = i; j > 0 && a[j-1] > t; j--)
      a[j] = a[j-1];
      a[j] = t;
     }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 09:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru