Sllem
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 2
|
|
#1 | |
Поменять местами первый положительный и последний отрицательный элементы генераторам случайных чисел в одномерном массиве - C++08.12.2013, 19:23. Просмотров 1796. Ответов 3
Метки нет Все метки)
(
Помогите составить программу, которая могла менять местами последний максимальный элемент с минимальным и что бы этот массив был создан с помощью генератором случайных чисел.
0
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
08.12.2013, 19:23 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Поменять местами первый положительный и последний отрицательный элементы генераторам случайных чисел в одномерном массиве (C++):
3
Поменять местами первый отрицательный и последний положительный элементы - C++
Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами - C++ Поменять местами максимальный отрицательный и первый положительный элементы массива - C++ Поменять в массиве местами первый максимальный и последний минимальный элементы - C++ В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. - C++ |
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
|
|
08.12.2013, 19:32 | #2 |
можно код выложить, чтобы было что править?
0
|
Sllem
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 2
|
|
08.12.2013, 19:57 [ТС] | #3 |
#include <iostream>
#include <conio.h> #include <time.h> #include <stdlib.h> #include <math.h> using namespace std; int main() { const int m = 5; const int n = 6; int matr[m][n]; int i, j; srand((unsigned)time( NULL)); for (i=0; i<m; i++) for (j=0; j<n; j++) matr[i][j] = rand()%50-25; cout << "Matrica: " << endl; for (i=0; i<m; i++) { for (j=0; j<n; j++) cout << matr[i][j] << " "; cout << endl; } cout << endl; int min; int iMin; int temp; for (i=0; i<m; i++) { iMin = 0; min = abs(matr[i][iMin]); for (j=1; j<n; j++) if (abs(matr[i][j])<min) { min = abs(matr[i][j]); iMin = j; } temp = matr[i][iMin]; matr[i][iMin] = matr[i][n-1]; matr[i][n-1] = temp; } cout << "Izmenennaya Matrica: " << endl; for (i=0; i<m; i++) { for (j=0; j<n; j++) cout << matr[i][j] << " "; cout << endl; } cout << endl; cout << endl; getch(); } Добавлено через 5 минут Только здесь надо не матрица а просто взять из самогенерирующегося массива последний минимальный элемент и максимальный элемент и поменять их местами. Добавлено через 9 минут Этот пример почти похожий только он не сгенерированный массив а как константа. #include <iostream> int main() { const int size = 10; int array[size] = { 12, 45, -5, 12, 89, 100, 23, -7, -90, 12 }; int i; int index = 0; int max = array[0]; for ( i = 1; i < size; i++) if(max < array[i]) { max = array[i]; index = i; } for ( i = size - 1; i>= 0; i--) if(array[i] < 0) { int temp = array[i]; array[i] = array[index]; array[index] = temp; break; } for ( i = 0; i < size; i++) std::cout << array[i] << " "; std::cout << std::endl; }
0
|
МаксимТ
47 / 47 / 4
Регистрация: 17.08.2012
Сообщений: 225
|
||||||||||||||||
08.12.2013, 20:00 | #4 | |||||||||||||||
ну здесь надо везде убрать либо первый либо второй цикл, тогда получится одномерный массив,
ну и соотв. подредактировать его объявление, например так:
ну и соотв. аналогичным образом надо искать iMax. как только цикл перебора отработает они(iMax, iMin) будут содержать индексы последних макс. и мин. элементов. а затем просто поменять местами, как здесь:
1
|
08.12.2013, 20:00 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
08.12.2013, 20:00 |
Привет! Вот еще темы с ответами:
4
Поменять местами максимальный и последний отрицательный элементы массива - C++ Задача. В матрице поменять местами в каждом столбце наибольший по модулю и последний положительный элементы - C++ Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным - C++ Первый отрицательный и последний положительный элемент читаемый из файла - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |