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

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

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

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

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

Пожалуйста подскажите как найти: максимальный из отрицательных элементов и поменять его местами с последним.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2013, 07:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним) (C++):

Одномерный массив Х(15) считать из файла *.txt (файл создать самим). Найти: Максимальный из отрицательных элементов и поменять его местами с после - C++
#include <iostream.h> #include <fstream.h> void read_matr(double X) { ifstream f("matr.txt"); for(int i=0; i<15; i++){ f>>X; } ...

Получить одномерный массив из из отрицательных элементов матрицы. Поменять местами первый и последний элемент - C++
1 2 -3 -0.5 7 0.1 -1.7 13 -18.5 Я составил начало программы, но возникла проблема с выводом одномерного массива. ...

Найти первый максимальный элемент и поменять его местами с последним элементом массива - C++
Задача: Сформируйте массив из 6 элементов, организовав ввод данных с консоли. Подсчитайте сумму элементов массива, стоящих на нечетных...

Поменять местами максимальный элемент матрицы с его первым элементом а минимальный с последним - C++
ДВУМЕРНЫЙ МАССИВ: Поменять местами максимальный элемент матрицы F(k,p)в его первым элементом, а минимальный элемент – с последним. Найти...

Найти максимальный по абсолютной величине элемент и поменять его местами с последним элементом матрицы - C++
"Дан двумерный массив, который содержит не более 10 строк и не более 10 столбцов. Найти максимальный по абсолютной величине элемент и...

Одномерный массив x(8) задать с клавиатуры. Найти минимальный из элементов, больших -2, и поменять его местами - C++
Одномерный массив x(8) задать с клавиатуры. Найти минимальный из элементов, больших -2, и поменять его местами с последним. Помогите...

7
newbie666
Заблокирован
01.11.2013, 08:31 #2
ну тебе же не подойдут примеры с использованием STL. теж надо так, как тебе препод сказал сделать, так что свой код в студию
1
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;
}
1
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
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;
}
1
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;
}
1
chedman
81 / 80 / 2
Регистрация: 30.10.2013
Сообщений: 251
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;
}
1
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;
}
1
newbie666
01.11.2013, 12:18     Одномерный массив (максимальный из отрицательных элементов и поменять его местами с последним)
  #8

Не по теме:

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

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.11.2013, 12:18
Привет! Вот еще темы с ответами:

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

Одномерный массив. Поменять местами минимальный и максимальный элемент - C++
Дан одномерный массив C, который состоит из 16 элементов.Поменять местами минимальный и максимальный элемент.

Поменять местами максимальный элемент и первый, используя одномерный массив - C++
Здравствуйте, искал на форуме нашел частичные данные, которые не могу даже нормально соединить, помогите &quot;поменять местами максимальный...

Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним - C++
Задан двухмерный массив целых чисел A размером N на M. Найти максимальный элемент и поменять его с последним.


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

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

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