Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лб инф передел / C++ / Алиса / Информатика / ПерваяПрограммаС.doc
Скачиваний:
47
Добавлен:
15.04.2015
Размер:
3.17 Mб
Скачать

Проектирование программы

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

С другой стороны, следует избегать определения массивов, имеющих чересчур большое количество элементов, с целью действовать наверняка. Массивы, особенно состоящие из значений типа float или строк,— это настоящие пожиратели памяти. Когда ваша программа становится достаточно большой и сложной, определение массивов, имеющих значительно большие размеры, чем это действительно необходимо, может привести к ошибке выполнения, связанной с нехваткой памяти.

Таким образом, вы оказываетесь между Сциллой и Харибдой. Поэтому планируйте размеры массива с особенной тщательностью. Старайтесь оставлять допуск не слишком большой, но достаточный для того, чтобы быть уверенным, что номер индекса никогда не превысит максимального количества элементов массива.

<>

Вопросы

  1. Что такое массив?

  2. Может ли массив содержать переменные нескольких типов?

  3. Как вы будете определять массив?

  4. Что такое двухмерный массив?

  5. Как вы будете определять двухмерный массив?

  6. Какова взаимосвязь между значением индекса и значением элемента массива?

  7. Как сравнить две строки?

  8. Как присвоить значение строковой переменной?

<>

Упражнения

  1. Напишите программу, в которой массивы используются для хранения имен, адресов и номеров телефонов 20 человек.

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

  3. Объясните, почему следующая программа написана неправильно:

  4. main()

  5. {

  6. int temps(31);

  7. int index, total;

  8. for (index = 0; index < 31; index++)

  9. {

  10. printf("Введите значение

  11. температуры #%d: ", index);

  12. scanf("%d", &temps(index));

  13. }

  14. high = temps(0);

  15. low = temps(0);

  16. index = 1;

  17. while (index < 31)

  18. {

  19. if (temps(index) > high)

  20. high = temps(index);

  21. else

  22. low = temps(index);

  23. index++;

  24. }

  25. printf("Минимальное значение

  26. температуры равно %d\n", low);

  27. printf("Максимальное значение

  28. температуры равно %d\n", high);

}

Глава 11 структуры и указатели

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

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

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

Соседние файлы в папке Информатика