18534

Одномерные массивы. Упорядоченная совокупность однотипных данных

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 4. Одномерные массивы Массив используется когда дана упорядоченная совокупность однотипных данных чисел символов строк символов и т.д. с ограниченным числом элементов. Примеры описаний массивов: char text[10];/ массив из 10 символов/ int a[50];/ мас...

Русский

2013-07-08

20.3 KB

5 чел.

Лабораторная работа № 4.

Одномерные массивы

Массив используется, когда дана упорядоченная совокупность однотипных данных (чисел, символов, строк символов и т.д.) с ограниченным числом элементов.

Примеры описаний массивов:

char text[10]; /* массив из 10 символов*/

int a[50]; /* массив из 50 целых чисел*/

float matr[5][10]; /* матрица вещ.чисел разм.5х10 */

Для обращения к элементу массива указываются имя массива и индексы элемента в квадратных скобках, например, text[0], a[i+1], matr[i][j]. Индексация начинается с 0 (в приведенном примере text[0] - первый элемент массива, последний элемент имеет индекс 9).

Ввод/вывод массивов осуществляется в цикле поэлементно.

Пример программы:

Первый вариант:

/***************************************************/

/* Задача. Входная строка содержит последовательность   */

/* слов, разделенных пробелами. Признак конца строки -  */

/* символ '\n' (перевод строки). Вывести на экран слова     */

/* длиной до пяти символов.                                                   */

/***************************************************/

#include <stdio.h>

#define DLSL 80 /* макс. длина слова */

main()

{ char s; /* тек. символ */

char sl[DLSL]; /* тек. слово*/

int i,j; /* индексы тек. символа в слове */

int psl=1; /* признак, что слово длиной до 5 симв. первое */

printf ("\n\nВведите строку символов\n");

s=getchar();

while (s!='\n')

{ if (s==' ') s=getchar();

else

{ i=0;

do

{ sl[i++]=s;

s=getchar();

}

while ((s!=' ') && (s!='\n'));

if (i<5)

{ if (psl) /* если слово первое */

{ printf ("Слова длиной до 5 символов:\n");

psl=0;

}

for (j=0; j<i; j++)

putchar(sl[j]);

putchar(' ');

}

}

}

if (psl) printf ("Слов длиной до 5 символов нет");

}

Пример результатов тестирования программы:

Введите строку символов

май  апрель март весна лето

Слова длиной до 5 символов:

май март лето

Введите строку символов

декабрь январь февраль

Слов длиной до 5 символов нет

Второй вариант программы:

/***************************************************/

/* Задача. Входная строка содержит последовательность   */

/* слов, разделенных пробелами. Признак конца строки -  */

/* символ '\n' (перевод строки). Вывести на экран слова     */

/* длиной до пяти символов.                                                   */

/***************************************************/

#include <stdio.h>

#define DLSTR 80 /* макс.длина строки */

main()

{ char str[DLSTR]; /* тек. строка */

int i,j; /* индексы тек. символа в строке */

int n,k; /* индексы перв. и посл. символов тек. Слова в строке */

int net_sl=1; /* признак, что слов длиной до 5 симв. нет */

printf ("\n\nВведите строку символов\n");

gets(str); /* ввод строки в массив str c заменой символа '\n' на признак

конца строки '\0'  */

printf ("Результат:\n");

i=0;

while (str[i]!='\0')

{ if (str[i]==' ')  i++;

else

{ n=i;

do i++; while ((str[i]!=' ') && (str[i]!='\0'));

k=i;

if ( k-n < 5 )

{ for (j=n; j<k; j++)

putchar(str[j]);

putchar(' ');

net_sl=0;

}

}

}

if (net_sl) printf ("Слов длиной до 5 символов нет.");

printf ("\nДля завершения нажмите любую клавишу");

getch(); /* чтение символа без отображения его на экране */

}

Пример результатов тестирования программы:

Введите строку символов

весна лето осень зима

Результат:

лето зима

Для завершения нажмите любую клавишу

Введите строку символов

декабрь январь февраль

Результат:

Слов длиной до 5 символов нет.

Для завершения нажмите любую клавишу

Порядок выполнения работы.

1. Получить задание у преподавателя.

2. Составить программу на Си и подобрать тесты для проверки программы на ЭВМ.

3. Отладить программу на ЭВМ.

4. Оформить и сдать отчет по лабораторной работе.

Задания.

  1. Дана последовательность из N различных вещественных чисел. Найти сумму чисел, расположенных между максимальным и минимальным числами.
  2. Дан текст произвольной длины. Определить сколько раз встречается каждая цифра в тексте.
  3. Задан текст, произвольной длины, состоящий из слов, разделенных пробелами. Вывести самое короткое слово.
  4. Дан текст, произвольной длины. Определить символ, встречающийся в тексте с максимальной частотой.
  5. Дан текст, длиной не более 80 символов, заканчивающийся точкой. Определить, симметричен ли он.
  6. Заданы две упорядоченные по возрастанию последовательности из N чисел и М чисел. Составить программу, объединяющую их в одну упорядоченную по возрастанию последовательность.
  7. Дан массив из 10 вещественных чисел. Упорядочить массив по возрастанию методом последовательного нахождения минимума.
  8. Дан одномерный массив, размером в 12 элементов. Необходимо инвертировать массив, путем замены значения первого элемента на последний, второго на предпоследний и так далее.
  9. Задан текст, произвольной длины, состоящий из слов, разделенных пробелами. Вывести только те слова, которые начинаются и заканчиваются на одну и ту же букву.
  10. Задан текст, произвольной длины, состоящий из слов, разделенных пробелами. Вывести только те слова, которые содержат букву ‘а’.
  11. Дана последовательность из N вещественных чисел. Распечатать числа в обратном порядке по 6 чисел в строке.
  12. Задан текст, произвольной длины, состоящий из слов, разделенных пробелами. Вывести только те слова, которые не содержат букву ‘а’.
  13. Текст содержит выражение со скобками. Напечатать выражение, заключенное в самые внутренние скобки.
  14. Задан текст, произвольной длины, состоящий из слов, разделенных пробелами. Вывести самое длинное слово.
  15. Дан текст, произвольной длины. Определить сколько раз встречается каждая латинская буква в тексте.
  16. Дана строка символов. Признак конца ‘\n’. Вывести слова заканчивающиеся буквой ‘а’, с порядковым номером этих слов.


 

А также другие работы, которые могут Вас заинтересовать

30770. Приспособления для выверки и временного закрепления конструкций 14.96 KB
  Приспособления для выверки и временного закрепления конструкций. При монтаже стальных и железобетонных конструкций используют приспособления позволяющие временно удерживать установленный на место элемент и регулировать его положение при выверке и приведении в проектное положение. Одиночные приспособления предназначены для удержания одного элемента групповые одного элемента или нескольких. Расчалки гибкие из канатов монтажные приспособления работающие только на растяжение.
30771. Основные способы строповки конструкций при монтаже. Грузозахватные приспособления 14.25 KB
  Основные способы строповки конструкций при монтаже. Строповка конструкций. Строповкой называют захват конструкций канатом стропом подвешенным к крюку монтажного крана для подъема и установки их в проектное положение. Конструкции стропуют в местах указанных в проекте и обеспечивают подачу конструкций к месту установки в положении соответствующем проекту.
30772. Приспособления для рабочего места и безопасного ведения работ на высоте 15.33 KB
  Приспособления для рабочего места и безопасного ведения работ на высоте. К работам на высоте относятся работы при выполнении которых работник находится на расстоянии менее 2 м от неогражденных перепадов по высоте 13 м и более. Рабочие места и проходы к ним зона А расположенные на перекрытиях покрытиях на высоте более 13 м и на расстоянии менее 2 м от границы перепада по высоте должны быть ограждены предохранительными или страховочными защитными ограждениями а при расстоянии более 2м сигнальными ограждениями соответствующими...
30773. Монтаж конструкций со склада и с транспортных средств 16.96 KB
  Монтаж конструкций со склада и с транспортных средств. Метод монтажа в зависимости от организации подачи элементов на монтаж: А со склада Б с колёс Основным условием доставки конструкций транспортными средствами является комплектная и ритмичная их подача в заданной технологической последовательности строго по часовому расписанному по минутам графику непосредственно к месту установки. Монтаж конструкций с транспортных средств по сравнению с предварительной разгрузкой является наиболее экономичным так как сокращаются затраты на...
30774. Классификация методов монтажа в зависимости от последовательности установки элементов 14.82 KB
  Классификация методов монтажа в зависимости от последовательности установки элементов. При раздельном методе одноименные конструкции монтируют или демонтируют самостоятельными потоками совмещенными во времени. Данный метод монтажа и демонтажа рекомендуется при реконструкции пролетов значительной протяженности небольшой внутренней стесненности обеспечивающей развертывание потока при свободном проходе монтажного крана и главное независимости СМР по реконструкции от основной деятельности предприятия. Комплексный метод связан с...
30775. Классификация методов монтажа по степени ограничения свободы перемещения в пространстве 14.68 KB
  По степени ограничения свободы перемещения элементов: А свободный Б ограничено свободный В принудительный оснастка позволяет перемещаться только в 1 необходимом направлении Свободный монтаж при котором монтируемый элемент без какихлибо ограничений устанавливают в проектное положение при его свободном перемещении. Ограниченносвободный монтаж характеризуется тем что монтируемая конструкция устанавливается в направляющие упоры фиксаторы и другие приспособления частично ограничивающие свободу перемещения конструкции но приводящие к...
30776. Выбор самоходного стрелового крана 19.06 KB
  hо – превышение монтажного горизонта над уровнем стоянки крана hз – запас по высоте для обеспечения безопасности монтажа hэл – высота монтируемого элемента hстр – высота строповки м вылет стрелы А=сlе где расстояние от оси вращения крана до оси крепления стрелы; горизонтальная проекция стрелы длина стрелы L находится по теореме пифагора мы знаем два катета. Зная необходимые характеристики которыми должен обладать кран – поднять необходимую тяжесть с некоторой длинной стрелы. Определяем фактические грузоподьёмность длину...
30777. Подбор башенного крана 16.38 KB
  Подбор башенного крана требуемая грузоподъёмность крана Qтр = Qэл Qстр Qосн т Qэл – масса монтируемого элемента Qстр – масса строповочного приспособления Qосн –масса монтажной оснастки т. Высота подъёма крюка Hкр = hо hз hэл hстр м hо – превышение монтажного горизонта над уровнем стоянки крана hз – запас по высоте для обеспечения безопасности монтажа hэл – высота монтируемого элемента hстр – высота строповки м Расчёт вылета стрелы крана производят по формуле б = а 2 b c м где а – ширина подкраннового пути b –...
30778. Технико-экономическое сравнение вариантов 13.75 KB
  Исходя из того требуется ли нам выполнить проект быстро или дешево выбирают метод монтажа по раннее подсчитанным показателям : механоёмкости трудоёмкости продолжительности монтажа себестоимости выполнения работ и приведённым затратам. Механоёмкость – затраты машинного времени на выполнение единицы монтажа также по ЕНиР. Продолжительность монтажа считается по количеству машиночасов всех монтажных кранов с учётом частичного совмещения во времени их работы на объекте. Себестоимость монтажа – сумма прямых затрат и накладных расходов.