Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.10.2010, 20:01   #11
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

К какому коду?
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 22.10.2010, 20:03   #12
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

К вашему и если можете чуть выше вашего...
Romario92 вне форума Ответить с цитированием
Старый 22.10.2010, 20:11   #13
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Код:
int m[10]; // The array
int *pMin = m; // The pointer (set to the first element)
for(int i=0; i<10; i++)
      cin >> m[i]; // Input the data
for(int i=2; i<10; i+=2)
      if(m[i] < 0 && m[i] > *pMin) // If the element is negative and more than the minimum
            pMin = &m[i]; // Change the minimum
cout << *pMin; // Print result
Если не будет элемента с четным индексом, меньшим нуля, то указатель будет установлен на нулевой элемент массива. Если хотите, чтобы он в этом случае был обнулен, то достаточно добавить в конец:
Код:
if(*pMin >= 0)
      pMin = NULL;
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 22.10.2010, 20:17   #14
atenon
Форумчанин
 
Регистрация: 05.12.2009
Сообщений: 253
По умолчанию

Сладкое слово халява
Приходится бежать со всех ног, чтобы только остаться на том же месте! Если хочешь попасть в другое место, тогда нужно бежать по меньшей мере вдвое быстрее! Льюис Кэрол
atenon вне форума Ответить с цитированием
Старый 22.10.2010, 20:28   #15
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Любой каприз за ваши деньги! И код, и комментарии, и освящение кода у Папы Римского. Если что - аська в профиле.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 22.10.2010, 20:33   #16
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Код:
int m[10]; // The array
int *pMin = m; // The pointer (set to the first element)
for(int i=0; i<10; i++)
      cin >> m[i]; // Input the data
for(int i=2; i<10; i+=2)
      if(m[i] < 0 && m[i] > *pMin) // If the element is negative and more than the minimum
            pMin = &m[i]; // Change the minimum
cout << *pMin; // Print result
Если не будет элемента с четным индексом, меньшим нуля, то указатель будет установлен на нулевой элемент массива. Если хотите, чтобы он в этом случае был обнулен, то достаточно добавить в конец:
Код:
if(*pMin >= 0)
      pMin = NULL;
Спасибо!!!!
Romario92 вне форума Ответить с цитированием
Старый 22.10.2010, 20:37   #17
Romario92
Пользователь
 
Регистрация: 15.10.2010
Сообщений: 49
По умолчанию

А такой вариант правильный?

int main()
{
const int Size = 10; // размерность массива
int mas[Size] = { -10, -12, 4, 6, -5, 1, -3, 1, -3, -6 }; // массив данных
int MinValue = mas[1]; // переменная для хранения минимального значения
int *pMinIndex = NULL; // указатель на минимальный элемент массива

for (int i = 1; i < Size; i+=2) { // цикл прохода по чётным элементам (i += 2)
if (MinValue >= mas[i]) {
MinValue = mas[i]; // присвоение меньшего значения
pMinIndex = &mas[i]; // указатель на текущий минимальный элемент
}
}

if (MinValue < 0) { // отрицательное ли значение получено?
std::cout << *pMinIndex << std::endl;
} else {
std::cout << "No negative values" << std::endl;
}
std::system("pause");

return 0;
}

Или такой?
int main()
{
int mass[10];
int *p, a = -101;

srand(time(NULL));
for(int i = 0;i<10;i++)
{
mass[i] = -100 + rand() % 99;//рандомно заполняет массв отрицательными элементами от -100 до -1
cout << mass[i] <<ends; //выводит их на экран
if(i%2)//эсли позиция елементов парная
if(mass[i]>a)//если текущий елемент больше предыдущего
{
a = mass[i];//перезапись наибольшего элемента
p = &mass[i];// перезапись указателя на наибольший текущий элемент
}
}
cout << "\nzna4enie: " << *p <<endl << "adres: " << p; //вывод

_getch();
return 0;
}
Romario92 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатель на функцию Кипящий чайник Общие вопросы C/C++ 6 10.10.2010 19:30
Указатель RobinVit Помощь студентам 3 05.05.2010 16:18
Указатель this Golovastik Общие вопросы C/C++ 8 16.01.2010 10:30
(!)указатель на указатель(!) (C)stalin(Cpp) Общие вопросы C/C++ 0 07.06.2009 15:32
Указатель n на m CESHNIK Общие вопросы C/C++ 7 07.03.2008 23:35