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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Sllem
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 2
#1

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

08.12.2013, 19:23. Просмотров 1556. Ответов 3
Метки нет (Все метки)

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

Поменять местами первый отрицательный и последний положительный элементы - C++
Дан массив вещественных чисел из 10 элементов . Поменять местами первый отрицательный и последний положительный элементы .

Поменять местами первый отрицательный и последний положительный элемент массива - C++
Поменять местами первый отрицательный и последний положительный елемент массива. Учесть возможность того, что отрицательные или...

Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами - C++
Переставить в 1-м массиве первый отрицательный и последний положительный элемент местами!

Поменять местами максимальный отрицательный и первый положительный элементы массива - C++
Использовать обращение к элементам массива с помощью операции индексации и через указатель. При выводе матриц следить за тем, чтобы ширина...

Поменять в массиве местами первый максимальный и последний минимальный элементы - C++
помогите пожалуйста

В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. - C++
В одномерном массиве вещественных чисел поменять местами элементы с четными и нечетными индексами. Помогите, пожалуйста. Хотя бы...

3
МаксимТ
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
ну здесь надо везде убрать либо первый либо второй цикл, тогда получится одномерный массив,
ну и соотв. подредактировать его объявление, например так:
C++
1
int matr[m];
C++
1
min = abs(matr[i][iMin]);
присвоение минимального значения должно быть до цикла в котором перебираются элементы.
ну и соотв. аналогичным образом надо искать iMax.

как только цикл перебора отработает они(iMax, iMin) будут содержать индексы последних макс. и мин. элементов.
а затем просто поменять местами, как здесь:
C++
1
2
3
temp = matr[i][iMin];
matr[i][iMin] = matr[i][n-1];//только в нашем случае iMax а не n-1
matr[i][n-1] = temp;
токо тут для матрицы, для одномерного массива будут одни квадратны скобки.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2013, 20:00
Привет! Вот еще темы с ответами:

Поменять местами максимальный и последний отрицательный элементы массива - C++
что-то не могу понять как делать Поменять местами максимальный и последний отрицательный элементы массива А (40).

Задача. В матрице поменять местами в каждом столбце наибольший по модулю и последний положительный элементы - C++
Написать программу для решения следующей задачи. В двумерном массиве, состоящем из целочисленных элементов, поменять местами: в каждом...

Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным - C++
Написать программу, меняющую в одномерном массиве местами первый элемент с минимальным, а последний с максимальным. Как можно это...

Первый отрицательный и последний положительный элемент читаемый из файла - C++
Из файла (имя файла вводится с клавиатуры) считывается массив целых чисел. Размер массива заранее неизвестен. Выведите в файл количество...


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

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

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