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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2013, 16:39   #1
Toivo
 
Регистрация: 17.03.2013
Сообщений: 9
Смущение C++ массив

здравствуйте. ^^

"дан массив X(10).
Поменять местами первый отрицательный элемент с последним положительным элементом."

_____________________
буду рада любой помощи в написании кода (сориентироваться по коду в лекции не получается), можно в консоли.

выудила с тем же заданием, что и у меня (подмять под свое), но не компилируется начиная с библиотек:

Код:
#include <iostream>
using namespace std;
int main()
{
  int i,n, otr1,otr2, o,pol1, pol2, max,min,tmp;
  //Ввод колличества членов массива
  std::cout << "Введите колличество членов массива: ";
  std::cin >> n;
  int* arr = new int[n];
  //Ввод элементов массива
  for (int i=0; i<n; i+1)
  {
    std::cout << "Введите значение члена массива arr[" << i << "]: ";
    std::cin >> arr[i];
  }
//Поиск первого отрицательного и последнего положительного элемента и вывод сообщения
 otr1==0;
 pol1==0;
  for (i=1;i<n;i+1)
  {
    if (arr[i]<0) {
      if ( otr1==0) {
        std::cout << "Отрицательный элемент массива: " << arr[i] <<". Его порядковый номер " << i<< endl;
        otr1==i
      }
   }
   else  
   {
     pol2= arr[i]
     pol1 ==i
   }
   if (otr1==0) {
     std::cout << "В массиве нет отрицательных элементов." << endl;
   }
   if (pol1==0 )
   {
     std::cout << "В массиве нет положительных элементов." << endl;
   else {
   std::cout << "Последний положительный элемент массива: " << pol2 <<". Его порядковый номер " << pol1<< endl;
   }
 //Поиск максимального элемента
  max=arr[0];
  for (i=1;i<n;i++)
  {
    if (max<arr[i])
    max=arr[i];
  }
  std::cout << "Максимальный элемент массива= " << max << "\n";
  //Поиск минимального элемента
  min=arr[0];
  for (i=1;i<n; i++)
  {
    if (min>arr[i])
    min=arr[i];
  }
  std::cout << "Минимальный элемент массива= " << min << "\n";
  //Смена значений min и max
  tmp=min;
  min=max;
  max=tmp;
  std::cout << "min " << min << "\n";
  std::cout << "max " << max << "\n";
  return 0;
}

Последний раз редактировалось Stilet; 17.12.2013 в 17:00. Причина: требования к оформлению
Toivo вне форума Ответить с цитированием
Старый 17.12.2013, 17:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Поменять местами первый отрицательный элемент с последним положительным элементом."
Код:
...
int* arr = new int[n];
...
int 
 io=-1// Это координата отрицательного
,ip=0; // Это координата положительного
for(int i=0;i<n;i++){
 if(io<0 && arr[i]<0) io=i;
 if(arr[i]>=0) ip=i;
}
// Если отрицательный есть то меняем
if(io>=0){
 int k=arr[io]; arr[io]=arr[ip];arr[ip]=k;
}
...
Идея ясна?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 17.12.2013, 17:35   #3
Toivo
 
Регистрация: 17.03.2013
Сообщений: 9
По умолчанию

благодарю, Stilet.)
вроде ясно, буду разбираться на практике.
Toivo вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан одномерный массив, сформировать новый массив по заданному правилу {Delphi} Nickolai47 Помощь студентам 5 16.12.2012 14:51
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58
Массив - Нужно написать массив и распечатать на экран с конца в начало(язык С++) econ Помощь студентам 1 29.05.2011 22:02