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

Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Rastr24
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 5
09.01.2014, 18:31     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #1
Поменять местами минимальный элемент и первый отрицательный эле-мент массива целых чисел.Необходимо использовать указатели и динамическйи массив!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2014, 18:31     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел
Посмотрите здесь:

C++ )В массиве из 6 целых чисел найти наибольший элемент и поменять его местами с первым элементом массива
C++ В списке целых чисел поменять местами max элемент и min элемент
C++ В упорядоченном по убыванию массиве поменять местами минимальный и первый элемент больший Р.
C++ Найти максимальный отрицательный и минимальный положительный элемент и поменять их местами
Поменять местами минимальный элемент с первым элементом массива, а максимальный элемент с последним C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 18:39     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #2
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
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main()
{
    int n;
    srand (time(0));
    cout <<"Size array: ";
    cin >> n;
    int *a = new int[n];
    for (int i=0; i<n; i++)
    {
        a[i]=rand()%20-6;
        cout <<a[i] <<' ';
    }
    cout <<endl;
    int min = 0;
    for (int i=1; i<n; i++)
        if (a[i]<a[min])
            min = i;
    int otr = 0;
    while (a[otr]>=0)
        ++otr;
    int tmp = a[min];
    a[min] = a[otr];
    a[otr] = tmp;
    for (int i=0; i<n; i++)
        cout <<a[i] <<' ';
    cout <<endl;
    delete [] a;
    return 0;
}
Rastr24
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 5
09.01.2014, 19:01  [ТС]     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #3
можно узнать что означает строка srand (time(0)); ??

C++
1
2
3
4
5
 for (int i=0; i<n; i++)
 {
 a[i]=rand()%20-6;
 cout <<a[i] <<' ';
 }
это рандомное заполнение массива ?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 19:04     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #4
Цитата Сообщение от Rastr24 Посмотреть сообщение
можно узнать что означает строка srand (time(0));
Нужна, чтобы каждый раз генерировались случайные числа, а не одни и те же.
Цитата Сообщение от Rastr24 Посмотреть сообщение
это рандомное заполнение массива ?
да
Rastr24
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 5
09.01.2014, 19:42  [ТС]     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #5
Сасибо,все работает, но можно ли сделать это для массива ,который нужно ввести с клавиатуры?
MicM
 Аватар для MicM
820 / 487 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
09.01.2014, 19:44     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел #6
Цитата Сообщение от Rastr24 Посмотреть сообщение
но можно ли сделать это для массива ,который нужно ввести с клавиатуры?
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
#include <iostream>
using namespace std;
 
int main()
{
    int n;
    cout <<"Size array: ";
    cin >> n;
    int *a = new int[n];
    for (int i=0; i<n; i++)
        cin >> a[i];
    int min = 0;
    for (int i=1; i<n; i++)
        if (a[i]<a[min])
            min = i;
    int otr = 0;
    while (a[otr]>=0)
        ++otr;
    int tmp = a[min];
    a[min] = a[otr];
    a[otr] = tmp;
    for (int i=0; i<n; i++)
        cout <<a[i] <<' ';
    cout <<endl;
    delete [] a;
    return 0;
}
Yandex
Объявления
09.01.2014, 19:44     Поменять местами минимальный элемент и первый отрицательный элемент массива целых чисел
Ответ Создать тему
Опции темы

Текущее время: 08:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru