Пожалуста, помогите решить!, Сложные типы данных. Одномерные массивы. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Пожалуста, помогите решить!, Сложные типы данных. Одномерные массивы. |
Artemka89 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
Помогите решить задачку.
Вводится одномерный вещественный массив фиксированной длины, состоящий из N элементов ( N может быть любое).Требуется: 1)Вывести исходный массив в строку. 2)Заменить все положительные элементы массива на первый отрицательный элемент. Вывести изменённый массив в том же виде что и исходный, но со следующей строки. |
Client |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: 20 |
В чем именно затруднение? Вывести массив или с заменой?
|
Artemka89 |
Сообщение
#3
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
|
Fest |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
по большей части с заменной, но на самом деле я в Паскале, как слепой котёнок... а завтра зачёт... если не трудно можете от начала до конца написать? Ну, это первый пункт: program mas; А над вторым подумай сам))) Там не сложно)))) Сообщение отредактировано: Fest - |
Artemka89 |
Сообщение
#5
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
Спаааасибо, но меня по большей части как раз и интересовал второй пункт.
|
compiler |
Сообщение
#6
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Fest, а что будет если я ввиду n=1000? ведь по условию n - любое...
мой вариант решения {$R-} Artemka89, внимательно протестируй в ТП, будут вопросы пиши... Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
Fest |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
Fest, а что будет если я ввиду n=1000? ведь по условию n - любое... мой вариант решения Код {$R-} Type TType = Real; PDynArray = ^TDynArray; TDynArray = array[1 .. 1] of TType; Var arr: PDynArray; n, i, j: integer; begin write('n = '); readln(n); GetMem(arr, n * SizeOf(TType)); //резервируем память for i := 1 To n Do readln(arr^[i]); //читаем for i := 1 To n Do write(' ' ,arr^[i]:3:2); //пишем writeln; i:=0; repeat inc(i); until not (arr^[i]>=0); //находим первый отрицательный элемент for j := 1 To n Do if (arr^[j])>0 then (arr^[j]):=(arr^[i]); //делаем замену(ноль остается) for i := 1 To n Do write(' ' ,arr^[i]:3:2); //печатаем FreeMem(arr, n * SizeOf(TType)); //освобаждаем память end. внимательно протестируй в ТП, будут вопросы пиши... Ты молодец, не спорю! Все правильно, но врятли это поймет человек, который толком не знает, как вывести массив... Для него это слишком сложно будет) |
Artemka89 |
Сообщение
#8
|
Группа: Пользователи Сообщений: 4 Пол: Мужской Репутация: 0 |
Спасибо огромное Вам!
Вопрос а зачем вводить в write(' ' ,arr^[ i ] : 3 : 2); символы 3:2 ?? и обязательно делать резервирование и освобождение памяти? Сообщение отредактировано: Artemka89 - |
Fest |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
|
compiler |
Сообщение
#10
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
Artemka89
>>Спасибо огромное Вам! Нам было не тяжело... >>Вопрос а зачем вводить в write(' ' ,arr^[ i ] : 3 : 2); символы 3:2 ? для форматирования вывода(необязательно) >>и обязательно делать резервирование и освобождение памяти? резирвирование -- обязательно(иначе где ты будешь хранить данные?). без освобождения, в принципе, можна обойтись, но тогда у теьбя будет утечка памяти (это не хорошо)) подробней читай: Все о динамических структурах данных. хотябы с указателями разбирись) Динамические массивы и матрицы(обрати внимание на пример volvo, я писал решение по нему) Массивы. Матрицы. Типичные задачи. (я думаю, не помешает) будут вопросы -- задавай... Fest >>Все правильно, но врятли это поймет человек, который толком не знает, как вывести массив... Для него это слишком сложно будет) Эту тему уже обсуждали(правда к общему мнению не пришли( ) . Но тут динамический массив оговорен условием(!) А от твоих постов "Посмотри какой-нить учебник)" и другие типа "я знаю кто ты" люди умнее не станут.. Сообщение отредактировано: compiler - -------------------- Спасибо!
Удачи! |
Fest |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 21 Пол: Мужской Реальное имя: Сектант Репутация: 0 |
Насчет: "Посмотри какой-нить учебник)" - признаю, мой косяк :\ А насчет: "я знаю кто ты" - это мой знакомый, я с ним учусь в одном университете Так что ничего криминального. И такая фамельярность не страшна
Сообщение отредактировано: Fest - |
compiler |
Сообщение
#12
|
Человек Группа: Пользователи Сообщений: 1 050 Пол: Мужской Реальное имя: Станислав Репутация: 3 |
А насчет: "я знаю кто ты" - это мой знакомый, я с ним учусь в одном университете smile.gif Так что ничего криминального. И такая фамельярность не страшна smile.gif а пункт №8 правил ты не читал?ну ладно.. меня больше интерисует сможет ли Artemka89 разобраться с динамическими массивами.. -------------------- Спасибо!
Удачи! |
Текстовая версия | 23.12.2024 20:17 |