Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Помогите с массивами (Array типа) (http://forum.oszone.net/showthread.php?t=198887)

Cherterok 08-02-2011 13:16 1607556

Помогите с массивами (Array типа)
 
Собствено всвем привет. опять я...массивы я собственно никогда не понимал но пытался. вобщем облазил все что мог. не нашол ничего путного . везде паскаль восновном почемуто использовали. вобщем вот задачи которые нужно решить. вот что я смог набросать а дальше не особо понял
Код:

#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. Переставить в обратном порядке элементы массива, расположенные между его минимальным и максимальным эле-ментами, включая минимальный и максимальный элементы.

lxa85 09-02-2011 02:18 1608083

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 1608794

lxa85, дело в том хай даже на бумаге. я локальные массивы не понял и перестановки. книжки не помогают т.к. я даже выписал пример с книжки и он не заработал. ну впринципе уже не так важно завтра работы сдавать...

lxa85 09-02-2011 22:16 1608868

Cherterok, прости конечно за резкий тон, но
С какого перепугу ты дурак начал выписывать пример из книги и подсовывать его компилятору!? (Не знаю в какой среде ты пишешь) Тебе чего сказано было?
Цитата:

Цитата lxa85
1. Очень важный первый шаг! Забываем про C, C++, Pascal и прочее! »

Понимаешь, просто забыть и все! Нету этого, не придумали еще. И мне совершенно до лампочки этот какой то пример с книги. Как до Юпитера вприсядку.
Цитата:

Цитата lxa85
2. Берем бумагу, задаемся(придумываем) массивы заданной длины. Грубо говоря выписываем в строку 15 цифр. »

15 цифр придумать и выписать в строчку - это сложно? Это не массив? Открою тебе страшную тайну - это одномерный массив. Для пущей важности их еще векторами называют.
Вот сейчас садишься, и не выпендриваясь, молча и старательно выполняешь то, что тебе говорят. По шагам, не пропуская не единого шага! И не надо думать что мол ты умный и тут всё прозрачно. Да, оно прозрачно, но требует выполнения.
Цитата:

Цитата lxa85
Проделываем заданные операции. (Перестановку, локальный максимум минимумов, нечетные номера.) »

Выписвыаешь на лист словесные определения терминов
Перестановка - это ...
Локальный максимум - это ...
Локальный минимум - это ...
Нечетные номера - это ...
И выписываешь таки засранец, потом сюда продублируешь, я проверю. Оно конечно коню понятно, что максимум - он самый большой, а минимум самый маленький. Но это не отмазка! Пишешь.
12 14 55 522 60 345 ---> 552 55 14 12 60 345
такой пример не подъемен? Ты издеваешься?!

Локальный максимум - ...
Локальный минимум - ...
Числа находящиеся между минимум и максимумом - ... , ... , ...
Вписать не достающие числа, проверить, всё ли я сделал в примере правильно.

Цитата:

Цитата lxa85
Пытаемся уследить, как это сделать автоматизированно. »

Нашел нужные элементы, определил необходимые условия, выполнил условия задачи.
Это грубо, это я расписывать не буду, так как это твоя задача.
Цитата:

Цитата lxa85
5. Если возникли трудности, помогаем ребенку, попутно делая заметки о возможных вариантах исходных данных. »

Не все задачи сводятся к примеру "12 14 55 522 60 345" бывают и другие. Твоя задача - найти все характерные примеры. Толи минимум сначала, толи максимум, толи минимум не один, толи максимумов трое. Толи вообще массив одинаковых чисел. Для каждого случая определить руками на бумаге - минимум, максимум и что там еще требуется.

Цитата:

Цитата lxa85
6. То что получится (схема) называется концептуальная модель. Она нужна для понимания "действия". Для понимания понятий и взаимосвязей объектов предметной области. Грубо опять же "Что взять и куда положить" »

Схема где?! На основе чего нам смотреть понял ты задачу или нет? Или решил как, пардон дятел перестучать пример с учебника или методички и подогнать под свою задачу? Грубо сказать: для выпечки тортов мясорубку не используют. Каждый инструмент хорош для своего. Ну отнесись ты к этому с пониманием!
Цитата:

Цитата lxa85
7. На основе схемы пишется математика. Как математически найти минимальный/максимальный элемент. Что его отличает от всех остальных.
Какое св-во имеют элементы стоящие между минимальным и максимальным. »

Даже повторяться стыдно.
Чем максимум отличается от всех остальных?!
Чем индексы элементов находящиеся между минимум и максимум отдичаются от всех остальных?!
(Что то мне начинает надъедать ключевые слова подчеркивать, ну да ладно.)
Цитата:

Цитата lxa85
8. Получившиеся формулы называются математической моделью задачи. Она нужна для того, чтобы любой ученик старших классов средней школы мог выполнить это задание. Мат. модель придает строгость, важность, и научность проблеме. Без нее никак. »

Для общей картины хорошо бы здесь вспомнить понятие пересечения множеств.
Стой! В школе же должны проходить принадлежность числа к даипазону. Например 25 {принадлежит} [14; 66) от 14 включительно, до 66. Здесь все тоже самое!
Цитата:

Цитата lxa85
9. А вот тут уже вспоминаем C, C++, Pascal и думаем, как перевести язык математики в язык алгоритмов. »

Заметь, красавец, сколько я всего понаписал, а к программированию еще и не притронулся. Соотв. я волен спросить а где твое? Где разобранный и расписанный пример? Шаг программирования без предварительной подготовки лишен всякого смысла. Просто лишен как таковой. А раз в нем нет смысла, то зачем он нужен? Ах задачу сдавать, ааа нууу если ставить вопрос таким образом ммм.
Вот чтобы сдать задачу и наполнить программирование смыслом необходимо выполнение всех шагов. Они как раз и наполняют програмный код смыслом. Понимаешь?
Цитата:

Цитата lxa85
10. Проверяем/тестируем разработанный алгоритм. Если результаты программы соответствуют требования задания, значит (см п.2) все шаги выполнены верно. Делаем вывод о правильной концептуальной схеме, математической модели, программной реализации. (Опять обращаю твое внимание, что программная реализация - последняя в этом списке)
10. PROFIT! »

С этим все понятно. Главное выводы правильные написать. Не с потолка, а именно по тому, что выполнялось в работе.

Так, теперь давай к тому, что не понятно.
Цитата:

Цитата Cherterok
я локальные массивы не понял и перестановки. »

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 1608907

lxa85, бумага не причом. пеерставить числа местами, определить его размер и подписать другой буквой это легко. просто ты както учился. я не знаю как. нас же не учат. тыкнули и говорят шоб послезавтра было. остальное наш геморой.
локальный максимум в гугле меня убил. нашол 2 примера (1 по с++ в 2 строчки вобще не о чом. и 2 простое уровнение на сайте)
если я понял число между миинмумом и максимумом это будит так? 150, 15, 10. или я не допонял?

вообще я так думал на нечетность проверять делением на 2. но потом столкнулся с тем что что как записать условие то правильно. и замечу учусь я не на програмировании. мы учим с++ для програмирования контролеров. там масивы вобще как бы не нужны. только подачи сигналов к разным портам + промежутки...перстановку я и так понял. в ручную легко. а вот как быть когда пишу уже в самой программе. представьте что я пятикласник который впервые увидел логорифмы и интеграллы. и ему дали сразу задание

lxa85 09-02-2011 23:42 1608921

Чертенок, я тебя убью.
Я тебе не про программирование, я тебе про математику рассказываю. Класс так за 8ой средней школы.
Вот чтобы послезавтра было ты покажи решение задачи без программирования. Тогда будет понятно, что задачу ты решил, и всё у тебя есть. Тогда, и только тогда любой программист зашедший в тему, не прилагая усилий раздумий "за тебя" напишет программу. Но для этого им нужна математика.
А ты уперся и всё.
Пиши по пунктам, пиши. Забудь про гугл, он тебе сейчас не помошник.
Думай, думай и еще раз думай.
Цитата:

Цитата Cherterok
представьте что я пятикласник который впервые увидел логорифмы и интеграллы. и ему дали сразу задание »

Пока я вижу перед собой двоешника, который не знает ни алгебру ни русский язык средней школы. Без обид, но это так.
Ты можешь написать по русски действия для того, чтобы пятикласник выполнил задачу?
Чтобы он взял набор чисел, нашел min, max и сделал перестановки?

Cherterok 09-02-2011 23:49 1608926

lxa85, я не двояшник:) убить? та можно терять нечего...
ну чо берем массив А длиной 6 например. числа 1,5,4,7,8,9
перестановка будит следующая
массив Б 9,8,7,4,5,1.
если бы обьяснил мне за локальные я бы и это написал. так что я тебя еще подожду.
вывод нечетных я подразумевал делением каждого числа масива на 2 без остатка.
примерно нашол кое что for(int i=0; i<n; i++) но я не понял принцыпа.
как в с++ определить длину массива заведома это не зная я не знаю. так что просто выводим 6 и все.
русский язык я учил года 4 назад. и вобще я с украины. если учитывать что у нас родной язык украинский то считайте это моим акцентом

lxa85 09-02-2011 23:58 1608930

Те массивы, с которыми ты работаешь и есть локальные. Есть массивы более сложных структур и гораздо больших объемов. С различными способами доступа к его элементам.
Поэтому сейчас ты слово локальный пиши, но в подробности не вдавайся.
Цитата:

Цитата Cherterok
вывод нечетных я подразумевал делением каждого числа масива на 2 без остатка. »

Цитата:

Цитата Cherterok
Переписать в новый целочисленный массив B все элементы с нечетными порядковыми номера-ми (1, 3, …) »

Задания я за тебя читать буду? Какие нафиг деления каждого числа без остатка?
Нука реши мне задание :
A - 14, 51, 62, 72, 55, 12, 73, 87, 66, 105.
B -

Cherterok 10-02-2011 00:03 1608935

lxa85, то я перепутал... я первое задание не вписывал.
В - 51, 72, 12, 87, 105 . 0 же я надеюсь не учитывается? (A[0])

lxa85 10-02-2011 00:16 1608942

Cherterok, порядкового номера ноль не существует.
Опять ты лезешь в программирование! Не лезь в него!

Cherterok 10-02-2011 00:19 1608943

lxa85, ну вот видиш. я смысл решения понял. но как блин это все туда утулить... :shot: :mellow:
а куда мне лезть???? ты мне обьясни где сдесь промежуток между минимумом и максимумом?
14 5 16 4 1 7 10 6 8 17
если я правильно понял то это от 4 до 17 ?? и что будит если было бы там 4 71 ??? то было бы просто 2 числа?без промежутка?

lxa85 10-02-2011 00:35 1608949

Cherterok, ну во первых не 4 - 17, а 1-17.
Цитата:

Цитата Cherterok
ты мне обьясни где здесь промежуток между минимумом и максимумом? »

Не объясню. Я это у тебя хочу узнать. Ты выпиши этот промежуток, чтобы мы понимали, о чем именно мы говорим.
Цитата:

Цитата Cherterok
и что будет если было бы там 4 71 ? То было бы просто 2 числа? Без промежутка? »

Будет 2 числа без промежутка. Это нормально, что тебя смутило?

Cherterok 10-02-2011 00:40 1608952

lxa85,
та ничего так. я ж выписал. написал от 4 до 17. (4 1 7 10 6 8 17). ну что дальше шеф? :happy:

Delirium 10-02-2011 00:56 1608955

lxa85, не распаляйся, а то нагрубишь окончательно и будет некрасиво видеть контрибьютора забаненным :)
Цитата:

Цитата Cherterok
и вобще я с украины »

Слово Украина на любом языке пишется с большой буквы. Также как и начало предложения. Хочешь уважения - пиши правильно хотя бы эти моменты.

lxa85 10-02-2011 00:56 1608957

Цитата:

Цитата Cherterok
( 4 1 7 10 6 8 17) »

А что дальше? Перестановка? Перестанавливай и выписывай полный массив.
На всякий случай - четверка зачеркнута. А то теги поставил, а зачеркивания не видно, оно накладывается прям по "перекладине"

Cherterok 10-02-2011 00:57 1608958

Delirium, ночь на дворе, два курсовых...и вобще не люблю я ставить запятые, точки и писать с большой буквы. это не бумага. и не поэмы пишем

lxa85,
ну A - 17 8 6 10 7 1 4.
это все понятно

Delirium 10-02-2011 00:59 1608961

Цитата:

Цитата Cherterok
...и вобще не люблю я ставить запятые, точки и писать с большой буквы. это не бумага. и не поэмы пишем »

Ты находишься на серьезном форуме, а не на сходке друзей, и люди тут не школьники. Будь добр относиться уважительно не только к своим друзьям, но и к собеседникам, тем более, что это МЫ тебе помогаем, а не наоборот.

lxa85 10-02-2011 01:00 1608962

Delirium, всё нормально, я уже погрузился в нирванну :). Думал попробовать изменить подход (чуть грубее заставить их шевелиться), но, к сожалению, большие сообщения юнными падаванами не воспринимаются.

Цитата:

Цитата Cherterok
lxa85,
ну A - 17 8 6 10 7 1 4. »

нет, не так. Думай ещё и не торопись.

Cherterok 10-02-2011 01:05 1608966

lxa85, оО ну мне какую перестановку? у меня задания разные. если нечетные номера то будит наверно
А - 8 10 1 (1 3 5 взял)
если нет то я не понял :sorry:. я пошол спать) завтра продолжите учить меня масивам:) скоро я за делфи прийду готовьтесь:))))

Delirium, ну извините. Все мы разные


Время: 03:15.

Время: 03:15.
© OSzone.net 2001-