Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 14.09.2013
Сообщений: 148

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

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

Студворк — интернет-сервис помощи студентам
Пожалуйста подскажите как найти: максимальный из отрицательных элементов и поменять его местами с последним.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.11.2013, 07:15
Ответы с готовыми решениями:

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

В одномерном массиве найти максимальный из отрицательных элементов, поменять его местами с последним элементом
Помогите, пожалуйста, решить еще одну задачу по информатике =) В одномерном массиве найти максимальный из отрицательных элементов и...

Как найти максимальный из отрицательных эл-ов и поменять его местами с последним эл-ом массива
дан одномерный массив , как найти максимальный из отрицательных эл-ов и поменять его местами с последним эл-ом массива. Интересует именно...

7
Заблокирован
01.11.2013, 08:31
ну тебе же не подойдут примеры с использованием STL. теж надо так, как тебе препод сказал сделать, так что свой код в студию
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.11.2013, 08:54
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
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
01.11.2013, 08:57
За спасибо
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
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
01.11.2013, 09:06
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
81 / 80 / 9
Регистрация: 30.10.2013
Сообщений: 251
01.11.2013, 09:21
У меня в коде только находит за один цикл, замену сам делай.

Добавлено через 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
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
01.11.2013, 09:23
Лучший ответ Сообщение было отмечено как решение

Решение

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
01.11.2013, 12:18

Не по теме:

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.11.2013, 12:18
Помогаю со студенческими работами здесь

Максимальный из отрицательных элементов массива поменять местами с последним элементом массива
Здравствуйте. Помогите написать программу на языке СИ. Условия программы Введите одномерный целочисленный массив, состоящий из 10-ти...

Дан двумерный массив. Поменять местами столбец, содержащий наибольшее количество отрицательных элементов, с последним столбцом
Дан двумерный массив. Поменять местами столбец, содержащий наибольшее количество отрицательных элементов, с последним столбцом.

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

Найти максимальный элемент и поменять его местами с последним элементом
Дан одномерный массив, который содержит не более 100 вещественных чисел. Найти максимальный элемент и поменять его местами с последним...

Найти максимальный элемент массива и поменять его местами с последним элементом
Дан одномерный массив, который содержит не более 200 целых чисел. Найти максимальный элемент и поменять его местами с последним элементом.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru