0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
1 | |
задачи на C++, на массивы11.04.2009, 22:13. Показов 9618. Ответов 59
Метки нет (Все метки)
дана такая задача:
дан линейный массив А, состояий из N элементов. Составить прорграмму удаления в массиве всех элементов, значения которых равны нулю. В преобразованном линейном массиве найти макс и мин по значению элементы, считая что такие элементы единственные. Элементы, расположенные между макс и мин, переместить в начало массива с одновременным удалением с исходных мест. Найденные значения и преобразованный линейный массив выдать на экран в строку. у меня конечно есть мысли..но как соединить все это в кучу пока не получется)... ну во-первых, массив из N элементов нужно создавать с помощью указателя: int n; double *A; cout << "Vvedite razmer massiva: "; cin >> n; A=new double [n]; ??????... можно ли здесь использовать метод splice для удаления элементов??? для того чтобы "Элементы, расположенные между макс и мин, переместить в начало массива" нужно навена узнать номера(расположение) этих элементов в массиве???...и можно ли использовать пузырьковый метод????. строго не судите я в этом деле новичок))))...пытаюсь как могу)...
0
|
11.04.2009, 22:13 | |
Ответы с готовыми решениями:
59
Массивы - задачи Задачи на массивы. Задачи на массивы Задачи на массивы |
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
13.04.2009, 19:14 [ТС] | 21 |
0
|
829 / 352 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
|
|
13.04.2009, 20:18 | 22 |
Ты на кнопочки "Спасибо" нажимай)
1
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
13.04.2009, 21:55 | 23 |
а ты охотник за славой? если бы я мог, я тебе бы весь свой рейтинг отдал... я на форуме не из-за рейтинга, а из-за учебы.... лишь обучая других, мы учимся..
1
|
1 / 1 / 0
Регистрация: 18.01.2009
Сообщений: 87
|
|
13.04.2009, 22:34 | 24 |
во!)
золотые слова!
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
||||||
14.04.2009, 14:49 [ТС] | 25 | |||||
вот следующая задачка
Дан линейный массив А, состоящий из N элементов. Составить программу преобразования массива путем удаления всех элементов, равных по значению максимальному элементу массива. В преобразованном массиве найти два элемента , сумма которых максимальна , и удалить элементы , расположенные между ними. Найденные значения и преобразованный массив выдать на экран в строку. эээээ........ "преобразованном массиве найти два элемента , сумма которых максимальна" с этим у меня возникли некоторые затруднения).... Добавлено через 2 часа 36 минут 11 секунд
а вот тут чет не знаю... "В преобразованном массиве найти два элемента, сумма которых максимальна, и удалить элементы, расположенные между ними. "
0
|
829 / 352 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
|
|
14.04.2009, 18:27 | 26 |
Я не охотник за славой(ну может чуть-чуть), просто не справедливо - а тоже внес вклад в решение.
Эта задачка немного посложнее - но решаемая. Вопрос только, как "перекрутить" комбинацию с 2 по n .
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
14.04.2009, 18:40 | 27 |
истинный аристократ и джентельмен промолчал бы
все эти задачки просты - на обычную логику. главное правильно понять условие. так ты решишь?
0
|
829 / 352 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
|
|
14.04.2009, 18:49 | 28 |
Джентльмены вымерли с Викторианской эпохой - а сейчас эпоха "Дикого капитализма". Хватить оффтопа
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
14.04.2009, 19:17 | 29 | |||||
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
15.04.2009, 09:04 [ТС] | 30 |
если честно то что в первой задаче, что во второй мне не очень понятна данная строчка:
arr1 = new int[n]; - здесь понятно мы задаем массив srand(time(0)); - ????? for(int i=0; i<n; i++) { arr1[i] = rand()%10; - тут понятно что эта ф-я задает случ. порядок..а что означает %10?...числа от 0 до 10? cout << "[" << arr1[i] << "] "; } delete[] arr1; - что означает данная строчка?... arr1 = arr2; P.S.: мне просто нужно написать комментарии ко всему этому..вот разбираюсь)
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
15.04.2009, 10:36 | 31 |
это активирует генератор псевдослучайных числе на основе текущего времени
(если ты уберешь ее, то у тебя числа будут генирироватся одни и те же всегда, пока ты не запустишь программу на другом компьютере.) да, это генерация числа от 0 до 10 (10 не входит в числа генерации) так как мы выделили область памяти оператором new , теперь нам ее надо освободить delete[] arr1. скобочки возле delete означают что удаляется массив
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
||||||
15.04.2009, 13:28 [ТС] | 32 | |||||
Добавлено через 31 минуту 16 секунд в первой задаче darray1[i] = rand()%20/2.0; числа от 0 до 20 а 2.0 что такое?...
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
15.04.2009, 21:02 | 33 |
так как в условии сказано удалить максимальные элементы, мы считаем их количество..и создаем массив с кол-вом элементов n-k (текущее - кол-во максимальных)...
ну там был массив из вещественных чисел (дробных)..а тут из целочисленных... в первом случае, генерировалось число от 0 до 20 и делилось на два (в случае нечетного элемента, у нас получалось вщественное число)...
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
22.04.2009, 11:21 [ТС] | 34 |
Даны два линейных массива Х и У, размером N каждый. Составить программу преобразования массива Х путем включения после его максимального значения элементов, находящихся между максимальным и минимальным элементами массива У . Преобразованный массив Х выдать на экран в строку.
следующая)
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
||||||
22.04.2009, 12:15 | 35 | |||||
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
23.04.2009, 15:24 [ТС] | 36 |
там немного не то с перестановкой...нужно было не заменять элементы в Х из У а просто вставить..ну типа того:
Х : 3 5 2 10 8 8 4 У : 4 2 5 9 3 12 4 min max Х : 3 5 2 10 5 9 3 8 8 4
0
|
829 / 352 / 64
Регистрация: 30.01.2009
Сообщений: 1,204
|
||||||
23.04.2009, 16:44 | 37 | |||||
Попробуй этот код:
1
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
29.04.2009, 09:22 [ТС] | 38 |
хм....все равно что-то не так...
0
|
2816 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
|
|
29.04.2009, 09:43 | 39 |
ну как сказать... из условия я так понял, и сделал как я понял....
а еслу необходимо просто вставить - это не так просто: там мороки с указателями будет... путем динмического распределения памяти. Кариша, вам как говорили сделать? со статическимим массивами или динамическими?
0
|
0 / 0 / 0
Регистрация: 11.04.2009
Сообщений: 23
|
|
29.04.2009, 13:01 [ТС] | 40 |
динамическими...
0
|
29.04.2009, 13:01 | |
29.04.2009, 13:01 | |
Помогаю со студенческими работами здесь
40
2 задачи на массивы Задачи на массивы С++ Задачи на массивы Задачи на массивы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |