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’. Вывести слова заканчивающиеся буквой ‘а’, с порядковым номером этих слов.


 

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

23969. Рим. Три специфические особенности римской литературы 11.86 KB
  Три специфические особенности римской литературы. а Первой отличительной чертой литературы в сравнении с греческой является то что это литература гораздо более поздняя и потому гораздо более зрелая. Рим мог воспользоваться уже готовыми результатами векового развития греческой литературы усвоить их достаточно быстро и основательно и создавать на этой основе уже свою собственную гораздо более зрелую и развитую литературу. С самого начала развития римской литературы чувствуется сильное греческое влияние.
23970. Римская литература, периодизация 21.5 KB
  – расцвет комедии длится до начала деятельности Цицерона. III Классический Золотой век а время Цицерона – расцвет прозы 8143 гг. б время Августа – расцвет поэзии 43 г.
23971. Римский фольклор 21 KB
  песни: свадебные застольные погребальные фесценнины – песни шуточного содержания связанные с обрядами плодородия.
23972. Римская комедия. Плавт 35.5 KB
  Писал паллиаты – комедии на греческий сюжет. Комедии греческого плаща. Брал сюжеты из греческой новоаттической комедии действие в греческих городах персонажи с греческими именами но использует римские реалии. Выбирает комедии которые будут интересны римлянам.
23973. Архаический период римской литературы. Первые авторы 23 KB
  Трагедии Впервые ввел драму на римский сюжет – претекстата. Ромул мифологический сюжет Кластидит исторический сюжет Больше всего прославился в комедии.
23974. Комедии Теренция 32.5 KB
  Комедии Теренция Публий Теренций Афр 195159 гг. Попал в Рим в качестве раба сенатора Теренция Лукана который входил в кружок Сципиона Младшего. Гуманизм Теренция спас его комедии от исчезновения. СВЕКРОВЬ Как видно из дидаскалии и из двух прологов комедия была поставлена при жизни Теренция трижды.
23976. Общая характеристика культуры эллинизма 26 KB
  Особенности искусства: влияние Востока интерес к быту и к частному человеку космополитизм Влияние востока на уровне религии: культ богини Тихэ случая культ Исиды сближается с Деметрой культ Осириса культ Кибелы В то же время в Грецию проникает иудаизм интерес к пышности роскоши изысканности – коринфский ордер. интерес к огромным сооружениям. Фаросский маяк Колосс Родосский огромные корабли интерес к дороговизне украшений симпатии к обожествлению правителей среди ораторов стиль азионизм – туманность речи. Интерес...
23977. Новоаттическая комедия. Менандр 30.5 KB
  повар хвастается блюдами – остался от пира в древнеаттической комедии. частные повседневные отношения; его действующие лица заурядные люди с мелкими страстями с обычными вожделениями и ошибками поставленные в забавные положения; индивидуализации глубокого анализа характеров и преобладающих личных свойств героев нет ещё; общие типы часто повторяющиеся даже под одними и теми же именами только в различной обстановке такова отличительная черта Менандровой комедии. Для римской сцены переделаны были Теренцием 4 комедии М. Душу...