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

Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как декомпилировать DLL файл http://www.cyberforum.ru/cpp-beginners/thread645804.html
есть dll файл хотелось бы чтобы был похожий исходник на оригинал , а если точней то интересуют части кода в DLL..на счёт шифровки файла не в курсе
C++ Класс функция(линейная или квадратичная) Описать класс Математическая функция.Функция может быть линейной y=ax+b или квадратичной y=a*x*x+bx+c. Данные класса:аргумент,параметры,значение ф-ий. Методы должны обеспечивать миним.функц.объекта. 2.Перегрузить операцию сложения ф-ий с использованием операции метода класса, а опер. вычитания с использованием дружественной ф-ии. 3.перегрузить унарную операцию ++ для инкремента ведущего... http://www.cyberforum.ru/cpp-beginners/thread645795.html
C++ Освобождение памяти и фишки VS
1) Откуда delete знает, сколько элементов в массиве, ведь обычный sizeof(a), где a - (допустим) int* - ничего не даст? Если "он" это знает, то значит можно, передав в функцию в аргументах int* massive, узнать кол-во элементов в массиве? 2) Почему нужно делать удаление указателя на двумерный массив, когда сам массив уже удален при помощи удаления массива? Иначе говоря : int **a = new int*;...
массив указателей на void* C++
Здравствуйте. Сейчас пытаюсь решить задачу из книги Брюса Эккеля "Философия С++", I том. В одном из упражнений требуется передать в конструктор массив из указателей на объекты и размер этого массива. Пробовал написать что-то в духе: Stack::Stack(void **data, int count) { for (int i = 0; i < count; ++i) push(data); // push функция данного класса, которая...
C++ Поиск записей в БД. Метод Locate http://www.cyberforum.ru/cpp-beginners/thread645777.html
Для поиска по базе данных в своем приложении я решил воспользоваться методом Locate. Его описание я нашел в книге Архангельского, вот какой вид он имеет: TLocateOptions SearchOptions; Variant localvalues = {EDep->Text, EFam->Text}; Table1->Locate ("Dep; Fam", VarArrayOf (locvalues, 1) , SearchOptions<loPartialKey<loCaseInsensitive); Этот код ищет Фамилию и Отдел, в...
C++ Описать класс Друг Нужно описать класс Друг.Данные класса имя,номер телефона,важность знакомства. Методы должны обеспечить минимальную функциональность объекта подробнее

Показать сообщение отдельно
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
02.09.2012, 22:07     Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива

Не по теме:

Цитата Сообщение от VN Посмотреть сообщение
Сказала что все не правильно.
неправильно
Цитата Сообщение от VN Посмотреть сообщение
//что бы не передавать по значению ...
чтобы. отдельно было бы, если бы "что бы не передавать, ничего не помогает"
Цитата Сообщение от VN Посмотреть сообщение
// для того что бы значение сохранялось
чтобы.
Цитата Сообщение от VN Посмотреть сообщение
...заполняем массив случайными цифрами...
числами. цифры это с помощью чего записываются числа.
Цитата Сообщение от VN Посмотреть сообщение
//тут i зачем то передается как параметр.
зачем-то.



Добавлено через 22 минуты
Есть структура, содержащая массив и его длину. Написать функцию getElem, которая возвращает ссылку на i - тый элемент массива (i передается как параметр). Написать функцию init, которая бы записывала в этот массив случайные числа без повторений. Для генерации случайных чисел использовать функцию rand. Случайные числа должны быть не больше длинны массива умноженной на два. Для доступа к элементам массива использовать функцию getElem.
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
#define MAX_SIZE 20
#define INVALID_ELEMENT_VALUE -1
 
 
struct StructArray {
  int _00_array [MAX_SIZE];
  int _01_size;
};
 
StructArray array;
 
int& getElem (int i){
  if (i >= 0 && i < MAX_SIZE){
    return *(array._00_array + i);
  } else {
    return INVALID_ELEMENT_VALUE;
  }
}
 
bool hasItem (int value){
  bool retval = false;
  for (int i = 0; i < array._01.size; i++){
    if (getElem(i) == value){
      retval = true;
      break;
    }
  }
  return retval;
}
 
void addItem (int value){
  if (array._01_size < MAX_SIZE - 1){
   *(array._00_array  + array._01_size++) = value;
  }
}
 
void init (){
  int rnd = 0;
  while (array._01_size < MAX_SIZE) {
    rnd = rand() % MAX_SIZE * 2;
    if (!hasItem(rnd)){
      addItem (rnd);
    }
  }
}
 
int main(){
  ::memset (&array, 0, sizeof(array));
  init();
  for (int i = 0; i < MAX_SIZE; i++){
    cout >> getElem (i); // или как там выводится таким образом, уже не помню.
  }
}
 
не проверял, написал тольк. попробуй запусти, должно работать.
 
Текущее время: 06:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru