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

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

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

Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) - C++

01.11.2013, 07:15. Просмотров 872. Ответов 7
Метки нет (Все метки)

Пожалуйста подскажите как найти: максимальный из отрицательных элементов и поменять его местами с последним.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 07:15     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
Посмотрите здесь:
Одномерный массив Х(15) считать из файла *.txt (файл создать самим). Найти: Максимальный из отрицательных элементов и поменять его местами с после C++
C++ Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент
Найти первый максимальный элемент и поменять его местами с последним элементом массива C++
Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним C++
Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы C++
Одномерный массив x(8) задать с клавиатуры. Найти минимальный из элементов, больших -2, и поменять его местами C++
Двумерный массив. Найти минимальный и поменять его с первым, найти максимальный и поменять его с последним C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
01.11.2013, 08:31     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #2
ну тебе же не подойдут примеры с использованием STL. теж надо так, как тебе препод сказал сделать, так что свой код в студию
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.11.2013, 08:54     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #3
C++
#include <iostream>
using std::cout;
using std::endl;
 
int main()
{
  const int N = 5;
 
  int m[N] = { -6, - 4, -1, -9, -3 };
  int t = 0;
 
  for(int i=0; i<N; i++) cout << m[i] << " ";
  cout << endl;
 
  for(int i=0; i<N; i++) t = m[i] > m[t] ? i : t;
 
  int tmp = m[N-1];
  m[N-1] = m[t];
  m[t] = tmp;
 
  for(int i=0; i<N; i++) cout << m[i] << " ";
  cout << endl;
}
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 250
01.11.2013, 08:57     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #4
За спасибо
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>
 
using namespace std;
 
int main()
{
    int a[10]= {1,4,-7,-4,-5,5,48,-78,5,4};
    int t=0,tm=0;
 
    for(int i=1; i<10; i++)
    {
        if(a[i]<0)
        {
            if(tm)
            {
                t=a[i];
            }
            else
            {
                tm=a[i];
                continue;
            }
            if(t>tm) tm=t;
        }
    }
 
    cout << tm << endl;
    return 0;
}
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.11.2013, 09:06     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #5
C++
// рандомный массив
#include <iostream>
#include <cstdlib>
#include <ctime>
using std::cout;
using std::endl;
 
int main()
{
  srand(time(0));
  const int N = 2+rand()%10;
 
  int m[N];
  for(int i=0; i<N; i++) m[i] = rand()%10 - 10;
  int t = 0;
 
  for(int i=0; i<N; i++) cout << m[i] << " ";
  cout << endl;
 
  for(int i=0; i<N; i++) t = m[i] > m[t] ? i : t;
 
  int tmp = m[N-1];
  m[N-1] = m[t];
  m[t] = tmp;
 
  for(int i=0; i<N; i++) cout << m[i] << " ";
  cout << endl;
}
chedman
80 / 79 / 2
Регистрация: 30.10.2013
Сообщений: 250
01.11.2013, 09:21     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #6
У меня в коде только находит за один цикл, замену сам делай.

Добавлено через 14 минут
С заменой как-то так
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
#include <iostream>
 
using namespace std;
 
int main()
{
    int a[10]= {1,4,-7,-4,-5,5,48,-78,5,4};
    int t=0,tm=0,ti=0;
 
    for(int i=0; i<10; ++i)
    {
        if(a[i]<0)
        {
            if(tm)
            {
                t=a[i];
            }
            else
            {
                tm=a[i];
                ti=i;
                continue;
            }
            if(t>tm) tm=t;
        }
    }
 
 
    t=a[10-1];
    a[10-1]=tm;
    a[ti+1]=t;
 
    for(int i=0;i<10;i++)
    cout << a[i] << endl;
 
    return 0;
}
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
01.11.2013, 09:23     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) #7
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template class <TIetm> void SwapLastMaxNeg(TItem *a, size_t Count)
{
 TItem *p;
 TItem *m;
 TItem  Temp;
 for (p=a+Count-2, m=p; p>=a; --p)
 {
  (((*p)<(TItem)0)&&((*p)>(*m)))
  {
   m=p;
  }
 }
 Temp=*(a+Count-1);
 *(a+Count-1)=*m;
 *m=Temp;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 12:18     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
Еще ссылки по теме:
C++ Одномерный массив. Поменять местами минимальный и максимальный элемент
поменять местами максимальный элемент и первый, используя одномерный массив на c++ C++
Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним C++
C++ Создать одномерный массив, заполнить его случайными числами. Поменять в массиве местами две его половины
Одномерный массив (элементы с четными индексами переписать в массив z.в массиве z поменять местами максимальный и минимальный элементы) C++

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

Или воспользуйтесь поиском по форуму:
newbie666
01.11.2013, 12:18     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
  #8

Не по теме:

Цитата Сообщение от chedman Посмотреть сообщение
За спасибо
получилось просто даже не за спасибо

Yandex
Объявления
01.11.2013, 12:18     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
Ответ Создать тему
Опции темы

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