1 / 1 / 0
Регистрация: 07.11.2012
Сообщений: 47
1

Заполнить вектор V(n) случайными числами и найти в векторе К-айтый максимум

24.11.2012, 14:12. Показов 1624. Ответов 10
Метки нет (Все метки)

Задание: Заполнить вектор V(n) случайными числами и найти в векторе К-айтый максимум . Вектор не портить и не создавать другие.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.11.2012, 14:12
Ответы с готовыми решениями:

Заполнить вектор V(n) случайными числами
Задание: Заполнить векторный массив V(n) случайными числами, и из этого массива найти все элементы...

Файл f заполнить K случайными действительными числами. Найти последний элемент файла f
Помогите пожалуйста решить Файл f заповнить K случайными действительными числами. Найти последний...

Заполнить массив случайными числами и найти два максимальных элемента массива и их номера
Прошу помощи в выводе номеров двух максимальных в массиве. Добавлено через 6 минут...

Заполнить массив случайными целыми числами в диапазоне [A, B], найти максимальный четный положительный элемент
Здравствуйте,помогите пожалуйста написать код,спасибо.Напишите программу, которая заполняет массив...

10
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 7
28.03.2013, 07:56 2
Не мог бы объяснить? то же задание нужно сделать
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
28.03.2013, 08:40 3
Предположу, что так...
Pascal
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
uses crt;
var
   a:array[1..100]of integer;
   i,j,temp,n,k:integer;
begin
   clrscr;
   randomize;
   write('n=');
   read(n);
   write('k=');
   read(k);
   for i:=1 to n do
    begin
       a[i]:=random(50);
       write(a[i],'  ');
    end;
   writeln;
   for i:=1 to n-1 do
   for j:=1 to n-i do
    if (a[j]>a[j+1]) then
     begin
        temp:=a[j];
        a[j]:=a[j+1];
        a[j+1]:=temp;
     end;
   writeln;
   write(k,'-yi maximum=',a[k]);
   readkey;
end.
1
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 7
28.03.2013, 16:08 4
Увы, считает не правильно
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
28.03.2013, 19:20 5
Цитата Сообщение от AflyPonich Посмотреть сообщение
Увы, считает не правильно
Поясните, что именно...
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 7
29.03.2013, 15:23 6
Он не находит K-тый максимум.

Добавлено через 8 минут
как я понял, он выводит не K максимум , а (к+1) максимум

Добавлено через 5 минут
Протестировал, при нахождении 2 max выдает 2 min

Добавлено через 2 минуты
Теперь точно, он выводит не K-max a K-min

Добавлено через 16 минут
Цитата Сообщение от Тамила Посмотреть сообщение
Поясните, что именно...
вы сортируете вектор методом пузырька, от мин к максимума, а потом выбираете просто K-ый элемент , вводимый с клавиатуры. То есть выводим K-тый минимум.
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
29.03.2013, 15:33 7
n=10
k=5

15 15 36 35 19 32 35 27 21 45

Каков должен быть ответ??

Добавлено через 28 секунд
AflyPonich, посмотрите
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 7
29.03.2013, 15:43 8
Цитата Сообщение от Тамила Посмотреть сообщение
n=10
k=5

15 15 36 35 19 32 35 27 21 45

Каков должен быть ответ??

Добавлено через 28 секунд
AflyPonich, посмотрите
тут 5-тый максимум будет 27

Добавлено через 5 минут
Может не так сформулировал задачу. Нужно чтобы если в векторе есть два одинаковых элемента, например как выше 35 и 35 он считал как один максимум а не два
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
29.03.2013, 15:46 9
Цитата Сообщение от AflyPonich Посмотреть сообщение
тут 5-тый максимум будет 27
Программа так и выводит... Проблема в чем?

Добавлено через 2 минуты
Цитата Сообщение от AflyPonich Посмотреть сообщение
Может не так сформулировал задачу. Нужно чтобы если в векторе есть два одинаковых элемента, например как выше 35 и 35 он считал как один максимум а не два
Тогда просто добавьте в программу обработку повторяющихся элементов, пусть они удаляются и все...
0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 7
29.03.2013, 16:03 10

может я что-то не понимаю, но даже с повторяющимися эллементами он сейчас нашел не 6 а 5

Добавлено через 11 минут
Цитата Сообщение от Тамила Посмотреть сообщение
Тогда просто добавьте в программу обработку повторяющихся элементов, пусть они удаляются и все...
Тогда мы будем портить вектор =\
0
753 / 546 / 211
Регистрация: 12.11.2009
Сообщений: 1,100
29.03.2013, 16:18 11
Цитата Сообщение от AflyPonich Посмотреть сообщение
Тогда мы будем портить вектор =\
Никто не просит Вас выводить промежуточные результаты, отсортировали матрицу, удалили из нее повторяющиеся элементы и выводите готовый результат

Добавлено через 5 минут
Цитата Сообщение от AflyPonich Посмотреть сообщение
может я что-то не понимаю, но даже с повторяющимися эллементами он сейчас нашел не 6 а 5
вот, если отсортировать:
46 43 37 37 35 35 34 31 28 12
5 и 6 элементы равны
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.03.2013, 16:18
Помогаю со студенческими работами здесь

Файл f заполнить 400 случайными действительными числами, найти разницу первой и последней компоненты файла
2)Файл f заполнить 400 случайными действительными числами . Найти разницу первой и последней...

Заполнить массив из N ячеек случайными целыми числами в диапазоне от -120 до 250. Найти сумму части элементов
Помогите пожалуйста: Размерность массива (количество элементов) вводится с клавиатуры....

Заполнить матрицу случайными числами
Помогите пожалуиста сделать матрцу 5Х5 со случайными числами от 0 да 9. Pascal.

Заполнить матрицу случайными числами
Заполнить матрицу случайными числами. Отобразить семметрично вертикальной оси секторы матрицы,...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru