Показать полную графическую версию : [решено] Помогите с массивами (Array типа)
Cherterok
08-02-2011, 13:16
Собствено всвем привет. опять я...массивы я собственно никогда не понимал но пытался. вобщем облазил все что мог. не нашол ничего путного . везде паскаль восновном почемуто использовали. вобщем вот задачи которые нужно решить. вот что я смог набросать а дальше не особо понял
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
int array[9] = {4, 8, 5, 2, 7, 12, 11, 10, 8};
int a, b, c, d, e, f, j, h, i;
// Дан массив размера N. Найти минимальный из его локальных макси-мумов (определение локального максимума дано в задании Array33).
a = array[0];
b = array[1];
c = array[2];
d = array[3];
e = array[4];
f = array[5];
j = array[6];
h = array[7];
i = array[8];
cout<<a;
system("pause");
}
ниже представлены те задачи которые я вобще не понял. автор печальной книжки абрамян((
Array55. Дан целочисленный массив A размера N (≤ 15). Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номера-ми (1, 3, …) и вывести размер полученного массива B и его содержимое. Условный оператор не использовать.
Array75. Дан массив размера N. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным эле-ментами, включая минимальный и максимальный элементы.
Cherterok,
1. Очень важный первый шаг! Забываем про C, C++, Pascal и прочее!
2. Берем бумагу, задаемся(придумываем) массивы заданной длины. Грубо говоря выписываем в строку 15 цифр.
3. Проделываем заданные операции. (Перестановку, локальный максимум минимумов, нечетные номера.)
4. Пытаемся уследить, как это сделать автоматизированно. Т.е. чтобы ребенок не знающий о высших материях математики мог выполнить эту задачу.
5. Если возникли трудности, помогаем ребенку, попутно делая заметки о возможных вариантах исходных данных.
6. То что получится (схема) называется концептуальная модель. Она нужна для понимания "действия". Для понимания понятий и взаимосвязей объектов предметной области. Грубо опять же "Что взять и куда положить"
7. На основе схемы пишется математика. Как математически найти минимальный/максимальный элемент. Что его отличает от всех остальных.
Какое св-во имеют элементы стоящие между минимальным и максимальным.
и т.д.
8. Получившиеся формулы называются математической моделью задачи. Она нужна для того, чтобы любой ученик старших классов средней школы мог выполнить это задание. Мат. модель придает строгость, важность, и научность проблеме. Без нее никак.
8. А вот тут уже вспоминаем C, C++, Pascal и думаем, как перевести язык математики в язык алгоритмов.
9. Проверяем/тестируем разработанный алгоритм. Если результаты программы соответствуют требования задания, значит (см п.2) все шаги выполнены верно. Делаем вывод о правильной концептуальной схеме, математической модели, программной реализации. (Опять обращаю твое внимание, что программная реализация - последняя в этом списке)
10. PROFIT! :)
Cherterok
09-02-2011, 21:00
lxa85, дело в том хай даже на бумаге. я локальные массивы не понял и перестановки. книжки не помогают т.к. я даже выписал пример с книжки и он не заработал. ну впринципе уже не так важно завтра работы сдавать...
Cherterok, прости конечно за резкий тон, но
С какого перепугу ты дурак начал выписывать пример из книги и подсовывать его компилятору!? (Не знаю в какой среде ты пишешь) Тебе чего сказано было?
1. Очень важный первый шаг! Забываем про C, C++, Pascal и прочее! »
Понимаешь, просто забыть и все! Нету этого, не придумали еще. И мне совершенно до лампочки этот какой то пример с книги. Как до Юпитера вприсядку.
2. Берем бумагу, задаемся(придумываем) массивы заданной длины. Грубо говоря выписываем в строку 15 цифр. »
15 цифр придумать и выписать в строчку - это сложно? Это не массив? Открою тебе страшную тайну - это одномерный массив. Для пущей важности их еще векторами называют.
Вот сейчас садишься, и не выпендриваясь, молча и старательно выполняешь то, что тебе говорят. По шагам, не пропуская не единого шага! И не надо думать что мол ты умный и тут всё прозрачно. Да, оно прозрачно, но требует выполнения.
Проделываем заданные операции. (Перестановку, локальный максимум минимумов, нечетные номера.) »
Выписвыаешь на лист словесные определения терминов
Перестановка - это ...
Локальный максимум - это ...
Локальный минимум - это ...
Нечетные номера - это ...
И выписываешь таки засранец, потом сюда продублируешь, я проверю. Оно конечно коню понятно, что максимум - он самый большой, а минимум самый маленький. Но это не отмазка! Пишешь.
12 14 55 522 60 345 ---> 552 55 14 12 60 345
такой пример не подъемен? Ты издеваешься?!
Локальный максимум - ...
Локальный минимум - ...
Числа находящиеся между минимум и максимумом - ... , ... , ...
Вписать не достающие числа, проверить, всё ли я сделал в примере правильно.
Пытаемся уследить, как это сделать автоматизированно. »
Нашел нужные элементы, определил необходимые условия, выполнил условия задачи.
Это грубо, это я расписывать не буду, так как это твоя задача.
5. Если возникли трудности, помогаем ребенку, попутно делая заметки о возможных вариантах исходных данных. »
Не все задачи сводятся к примеру "12 14 55 522 60 345" бывают и другие. Твоя задача - найти все характерные примеры. Толи минимум сначала, толи максимум, толи минимум не один, толи максимумов трое. Толи вообще массив одинаковых чисел. Для каждого случая определить руками на бумаге - минимум, максимум и что там еще требуется.
6. То что получится (схема) называется концептуальная модель. Она нужна для понимания "действия". Для понимания понятий и взаимосвязей объектов предметной области. Грубо опять же "Что взять и куда положить" »
Схема где?! На основе чего нам смотреть понял ты задачу или нет? Или решил как, пардон дятел перестучать пример с учебника или методички и подогнать под свою задачу? Грубо сказать: для выпечки тортов мясорубку не используют. Каждый инструмент хорош для своего. Ну отнесись ты к этому с пониманием!
7. На основе схемы пишется математика. Как математически найти минимальный/максимальный элемент. Что его отличает от всех остальных.
Какое св-во имеют элементы стоящие между минимальным и максимальным. »
Даже повторяться стыдно.
Чем максимум отличается от всех остальных?!
Чем индексы элементов находящиеся между минимум и максимум отдичаются от всех остальных?!
(Что то мне начинает надъедать ключевые слова подчеркивать, ну да ладно.)
8. Получившиеся формулы называются математической моделью задачи. Она нужна для того, чтобы любой ученик старших классов средней школы мог выполнить это задание. Мат. модель придает строгость, важность, и научность проблеме. Без нее никак. »
Для общей картины хорошо бы здесь вспомнить понятие пересечения множеств.
Стой! В школе же должны проходить принадлежность числа к даипазону. Например 25 {принадлежит} [14; 66) от 14 включительно, до 66. Здесь все тоже самое!
9. А вот тут уже вспоминаем C, C++, Pascal и думаем, как перевести язык математики в язык алгоритмов. »
Заметь, красавец, сколько я всего понаписал, а к программированию еще и не притронулся. Соотв. я волен спросить а где твое? Где разобранный и расписанный пример? Шаг программирования без предварительной подготовки лишен всякого смысла. Просто лишен как таковой. А раз в нем нет смысла, то зачем он нужен? Ах задачу сдавать, ааа нууу если ставить вопрос таким образом ммм.
Вот чтобы сдать задачу и наполнить программирование смыслом необходимо выполнение всех шагов. Они как раз и наполняют програмный код смыслом. Понимаешь?
10. Проверяем/тестируем разработанный алгоритм. Если результаты программы соответствуют требования задания, значит (см п.2) все шаги выполнены верно. Делаем вывод о правильной концептуальной схеме, математической модели, программной реализации. (Опять обращаю твое внимание, что программная реализация - последняя в этом списке)
10. PROFIT! »
С этим все понятно. Главное выводы правильные написать. Не с потолка, а именно по тому, что выполнялось в работе.
Так, теперь давай к тому, что не понятно.
я локальные массивы не понял и перестановки. »
13, 23, 77, 235, 86, 73, 43 - это локальный одномерный массив размерностью 7.
23, 13, 77, 235, 86, 73, 43 - тот же массив но с переставленными первым и вторым элементом.
13, 235, 77, 23, 86, 73, 43 - предидущий массив, но поменяны 2ой, 4ый.
"На пальцах" это и есть перестановка.
Что еще не понятно?
Cherterok
09-02-2011, 23:16
lxa85, бумага не причом. пеерставить числа местами, определить его размер и подписать другой буквой это легко. просто ты както учился. я не знаю как. нас же не учат. тыкнули и говорят шоб послезавтра было. остальное наш геморой.
локальный максимум в гугле меня убил. нашол 2 примера (1 по с++ в 2 строчки вобще не о чом. и 2 простое уровнение на сайте)
если я понял число между миинмумом и максимумом это будит так? 150, 15, 10. или я не допонял?
вообще я так думал на нечетность проверять делением на 2. но потом столкнулся с тем что что как записать условие то правильно. и замечу учусь я не на програмировании. мы учим с++ для програмирования контролеров. там масивы вобще как бы не нужны. только подачи сигналов к разным портам + промежутки...перстановку я и так понял. в ручную легко. а вот как быть когда пишу уже в самой программе. представьте что я пятикласник который впервые увидел логорифмы и интеграллы. и ему дали сразу задание
Чертенок, я тебя убью.
Я тебе не про программирование, я тебе про математику рассказываю. Класс так за 8ой средней школы.
Вот чтобы послезавтра было ты покажи решение задачи без программирования. Тогда будет понятно, что задачу ты решил, и всё у тебя есть. Тогда, и только тогда любой программист зашедший в тему, не прилагая усилий раздумий "за тебя" напишет программу. Но для этого им нужна математика.
А ты уперся и всё.
Пиши по пунктам, пиши. Забудь про гугл, он тебе сейчас не помошник.
Думай, думай и еще раз думай.
представьте что я пятикласник который впервые увидел логорифмы и интеграллы. и ему дали сразу задание »
Пока я вижу перед собой двоешника, который не знает ни алгебру ни русский язык средней школы. Без обид, но это так.
Ты можешь написать по русски действия для того, чтобы пятикласник выполнил задачу?
Чтобы он взял набор чисел, нашел min, max и сделал перестановки?
Cherterok
09-02-2011, 23:49
lxa85, я не двояшник:) убить? та можно терять нечего...
ну чо берем массив А длиной 6 например. числа 1,5,4,7,8,9
перестановка будит следующая
массив Б 9,8,7,4,5,1.
если бы обьяснил мне за локальные я бы и это написал. так что я тебя еще подожду.
вывод нечетных я подразумевал делением каждого числа масива на 2 без остатка.
примерно нашол кое что for(int i=0; i<n; i++) но я не понял принцыпа.
как в с++ определить длину массива заведома это не зная я не знаю. так что просто выводим 6 и все.
русский язык я учил года 4 назад. и вобще я с украины. если учитывать что у нас родной язык украинский то считайте это моим акцентом
Те массивы, с которыми ты работаешь и есть локальные. Есть массивы более сложных структур и гораздо больших объемов. С различными способами доступа к его элементам.
Поэтому сейчас ты слово локальный пиши, но в подробности не вдавайся.
вывод нечетных я подразумевал делением каждого числа масива на 2 без остатка. »Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номера-ми (1, 3, …) »
Задания я за тебя читать буду? Какие нафиг деления каждого числа без остатка?
Нука реши мне задание :
A - 14, 51, 62, 72, 55, 12, 73, 87, 66, 105.
B -
Cherterok
10-02-2011, 00:03
lxa85, то я перепутал... я первое задание не вписывал.
В - 51, 72, 12, 87, 105 . 0 же я надеюсь не учитывается? (A[0])
Cherterok, порядкового номера ноль не существует.
Опять ты лезешь в программирование! Не лезь в него!
Cherterok
10-02-2011, 00:19
lxa85, ну вот видиш. я смысл решения понял. но как блин это все туда утулить... :shot: :mellow:
а куда мне лезть???? ты мне обьясни где сдесь промежуток между минимумом и максимумом?
14 5 16 4 1 7 10 6 8 17
если я правильно понял то это от 4 до 17 ?? и что будит если было бы там 4 71 ??? то было бы просто 2 числа?без промежутка?
Cherterok, ну во первых не 4 - 17, а 1-17.
ты мне обьясни где здесь промежуток между минимумом и максимумом? »
Не объясню. Я это у тебя хочу узнать. Ты выпиши этот промежуток, чтобы мы понимали, о чем именно мы говорим.
и что будет если было бы там 4 71 ? То было бы просто 2 числа? Без промежутка? »
Будет 2 числа без промежутка. Это нормально, что тебя смутило?
Cherterok
10-02-2011, 00:40
lxa85,
та ничего так. я ж выписал. написал от 4 до 17. (4 1 7 10 6 8 17). ну что дальше шеф? :happy:
Delirium
10-02-2011, 00:56
lxa85, не распаляйся, а то нагрубишь окончательно и будет некрасиво видеть контрибьютора забаненным :)
и вобще я с украины »
Слово Украина на любом языке пишется с большой буквы. Также как и начало предложения. Хочешь уважения - пиши правильно хотя бы эти моменты.
( 4 1 7 10 6 8 17) »
А что дальше? Перестановка? Перестанавливай и выписывай полный массив.
На всякий случай - четверка зачеркнута. А то теги поставил, а зачеркивания не видно, оно накладывается прям по "перекладине"
Cherterok
10-02-2011, 00:57
Delirium, ночь на дворе, два курсовых...и вобще не люблю я ставить запятые, точки и писать с большой буквы. это не бумага. и не поэмы пишем
lxa85,
ну A - 17 8 6 10 7 1 4.
это все понятно
Delirium
10-02-2011, 00:59
...и вобще не люблю я ставить запятые, точки и писать с большой буквы. это не бумага. и не поэмы пишем »
Ты находишься на серьезном форуме, а не на сходке друзей, и люди тут не школьники. Будь добр относиться уважительно не только к своим друзьям, но и к собеседникам, тем более, что это МЫ тебе помогаем, а не наоборот.
Delirium, всё нормально, я уже погрузился в нирванну :). Думал попробовать изменить подход (чуть грубее заставить их шевелиться), но, к сожалению, большие сообщения юнными падаванами не воспринимаются.
lxa85,
ну A - 17 8 6 10 7 1 4. »
нет, не так. Думай ещё и не торопись.
Cherterok
10-02-2011, 01:05
lxa85, оО ну мне какую перестановку? у меня задания разные. если нечетные номера то будит наверно
А - 8 10 1 (1 3 5 взял)
если нет то я не понял :sorry:. я пошол спать) завтра продолжите учить меня масивам:) скоро я за делфи прийду готовьтесь:))))
Delirium, ну извините. Все мы разные
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.