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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pezhone
0 / 0 / 0
Регистрация: 19.01.2010
Сообщений: 9
#1

Использование указателей в программах - C++

19.01.2010, 02:27. Просмотров 681. Ответов 5
Метки нет (Все метки)

Тема: «Использование указателей в программах»
№5.2
Составить программу, которая вычисляет наибольшие элементы и их порядковые номера для массивов Х(N), Y(M). Нахождение наибольших элементов и их порядковых номеров оформить в виде функции.


Тема: «Массивы»
4.3
В одномерном массиве все отрицательные элементы переместить в начало массива, а остальные – в конец с сохранением порядка следования. Не использовать дополнительный массив.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2010, 02:27     Использование указателей в программах
Посмотрите здесь:

Использование указателей - C++
Не могли бы вы показать как решить это через указатели. Решение правильное. #include <iostream> #include <cstring> using namespace...

Использование указателей - C++
Здравствуйте, немного не понимаю как правильно использовать указатели, например, я знаю, что при создании указателя на объект класса, можно...

Использование указателей - C++
Всем привет, вот изучаю помалу С++. И уже третий час немогу впарится в Указатели недаётся мне это, вот вроде более менее разобрался,...

использование указателей - C++
Подскажите, пожалуйста, в чем здесь ошибка? #include <iostream> using namespace std; int x = 20; int *x; int main() ...

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

использование указателей - C++
не знал как тему даже назвать :-class CTest { public: int x; void xpp() { x++; } };

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
19.01.2010, 03:22     Использование указателей в программах #2
5.2 Функция поиска индекса минимального элемента массива.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<assert.h>
 
int Max(const int* arr, int size)
{
  assert(arr);
 
  if(size == 0)
    return -1;
 
  int max_index = 0;
 
  for(int i = 0; i < size; ++i)
    if(arr[i] > arr[max_index])
      max_index = i;
 
  return max_index;
}
Пример использования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
 
// Предыдущий листинг
 
int main()
{
  int arr[] = {1, -3, 6, 9, 10, 3, 4, 5};
 
  int max_index = Max(arr, sizeof(arr) / sizeof(arr[0]));
 
  std::cout << "Max element " << arr[max_index] << " at " << max_index << std::endl;
 
  return 0;
}

Не по теме:

Это не сайт первой доврачебной помощи - название "надо спасти мне жизнь))))))))))" только отталкивает от просмотра темы.
Давайте осмысленные названия темам - откликнувшихся будет больше.

insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
19.01.2010, 18:09     Использование указателей в программах #3
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
#define N 10
void flip(int& x, int& y)
{
    int temp = x;
    x = y;
    y = temp;
}
int main()
{
    // В одномерном массиве все отрицательные элементы переместить в начало массива,
    // а остальные – в конец с сохранением порядка следования.
    // Не использовать дополнительный массив.
    int A[N] = {10, -5, 23, -2, 32, -43, 0, 2, 8, -1};
    int ChangePos = 0, Temp = 0, writed = 0; 
    for (int i = 0; i < N; i++)
    {
        if ( A[i] < 0 )
        {
            int temp = A[i];
            for (int j = i; j > writed; j--)
            {
                flip(A[j], A[j-1]);
            }
            A[writed] = temp; writed++;
        }
    }
}

Не по теме:

Это было тяжело, однако несравнимо с IWBTG

taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.01.2010, 11:13     Использование указателей в программах #4
Где
сдесь
Цитата Сообщение от insideone Посмотреть сообщение
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
#define N 10
void flip(int& x, int& y)
{
    int temp = x;
    x = y;
    y = temp;
}
int main()
{
    // В одномерном массиве все отрицательные элементы переместить в начало массива,
    // а остальные – в конец с сохранением порядка следования.
    // Не использовать дополнительный массив.
    int A[N] = {10, -5, 23, -2, 32, -43, 0, 2, 8, -1};
    int ChangePos = 0, Temp = 0, writed = 0; 
    for (int i = 0; i < N; i++)
    {
        if ( A[i] < 0 )
        {
            int temp = A[i];
            for (int j = i; j > writed; j--)
            {
                flip(A[j], A[j-1]);
            }
            A[writed] = temp; writed++;
        }
    }
}

Не по теме:

Это было тяжело, однако несравнимо с IWBTG

указатели?

Добавлено через 1 минуту
И где они
сдесь?
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<iostream>
// Предыдущий листинг
int main()
{
int arr[] = {1, -3, 6, 9, 10, 3, 4, 5};
int max_index = Max(arr, sizeof(arr) / sizeof(arr[0]));
std::cout << "Max element " << arr[max_index] << " at " << max_index << std::endl;
return 0;
}


Добавлено через 28 секунд
А
сдесь
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<assert.h>
int Max(const int* arr, int size)
{
assert(arr);
if(size == 0)
return -1;
int max_index = 0;
for(int i = 0; i < size; ++i)
if(arr[i] > arr[max_index])
max_index = i;
return max_index;
}
указатель действительно есть.
insideone
Модератор
Автор FAQ
3638 / 916 / 49
Регистрация: 10.01.2010
Сообщений: 2,468
20.01.2010, 14:58     Использование указателей в программах #5
4.3 относится к теме «Массивы»
хм?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2010, 15:36     Использование указателей в программах
Еще ссылки по теме:

Использование указателей и функций - C++
Сформировать динамический массив Х размера M × N из случайных целых чисел. В программе организовать функцию для подсчета среднего...

Использование указателей в функциях - C++
Составить программу, в которой сформировать прямоугольную таблицу С с n × m целых чисел в динамической памяти, в отдельной функции...

Использование ссылок и указателей - C++
Добрый вечер Помогите разобраться и понять «Использование ссылок и указателей» Прочел много литературы но понять сложно Объясните...

Код с использование указателей - C++
Переделайте пожалуйста код, что бы в нем использовались указатели В массиве хранится информация о численности книг в каждом из 35...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
20.01.2010, 15:36     Использование указателей в программах #6
taras atavin, не заметил название темы задачи. Вот задача 5.2. с использованием указателей:
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
#include<iostream>
#include<assert.h>
 
int Max(const int* arr, int size)
{
  assert(arr);
 
  if(size == 0)
    return -1;
 
  const int* max = arr;
 
  for(const int* p = arr; p < arr + size; ++p)
    if(*p > *max)
      max = p;
 
  return max - arr;
}
 
int main()
{
  int arr[] = {1, -3, 6, 9, 10, 3, 4, 5};
 
  int max_index = Max(arr, sizeof(arr) / sizeof(arr[0]));
 
  std::cout << "Max element " << arr[max_index] << " at " << max_index << std::endl;
 
  return 0;
}
Результат: http://codepad.org/PjYcrhah.
Yandex
Объявления
20.01.2010, 15:36     Использование указателей в программах
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru