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


 

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

18011. Биржевая деятельность 714 KB
  1. ВВОДНАЯ ЛЕКЦИЯ 1.1. Понятие биржи. История возникновения. Мировые биржевые центры 1.2. Виды бирж. Биржевые товары 1.3. Характеристика биржевых сделок 1.1. Понятие биржи. История возникновения. Мировые биржевые центры Понятие биржи Товарные биржи представляющие
18012. Биржевая деятельность. Учебник 1.95 MB
  Биржевая деятельность ПОД РЕДАКЦИЕЙ ПРОФЕССОРА А.Г. ГРЯЗНОВОЙ ПРОФЕССОРА Р.В.КОРНЕЕВОЙ ПРОФЕССОРА В.А.ГАЛАНОВА Изложены основы биржевой деятельности. Обобщена практика yпpaвлeния биpжaми. Пoкaзaнa cпeцификa paбoты тoвapныx фoндoвыx и вaлютныx биpж. Paccмoтpeны виды биpжeвыx cдeлo
18013. Психология бизнеса. БИЗНЕС. Пособие для Гениев 1.65 MB
  Психология бизнеса БИЗНЕС. Пособие для Гениев. Юрий Мороз. Не было еще гения без некоторой доли безумия. Сенека. От автора Как это видимо обычно и бывает я пишу введение после того как книга закончена. Что же важного я хочу сообщить читателю Первое...
18014. Бизнес-статистика и прогнозирование 2.23 MB
  В.Г. Минашкин Н.А. Садовникова Р.А. Шмойлова Бизнесстатистика и прогнозирование СОДЕРЖАНИЕ РАЗДЕЛ I. БИЗНЕССТАТИСТИКА..6 Глава 1. Предмет и метод статистики.6 Статистика как наука и отрасль практической д...
18015. Бренд. Боевая машина бизнеса 930 KB
  Глядя на засилье логотипов в окружающем нас пространстве — на стойке бара, на форменной одежде официантки, на посуде, столах и зонтиках, обозревая весь этот марочный мир, один из нас сделал зачин
18016. ЦЕНЫ И ЦЕНООБРАЗОВАНИЕ. Учебник 1.75 MB
  ЦЕНЫ И ЦЕНООБРАЗОВАНИЕ Учебник И.К. Салимжанова СОДЕРЖАНИЕ: [1] РАЗДЕЛ 1 [1.1] ОСНОВНЫЕ ВОПРОСЫ ЦЕНООБРАЗОВАНИЯ ПРИ ПЕРЕХОДЕ К РЫНКУ [2] ГЛАВА 1 [2.1] ЦЕНА КАК ЭКОНОМИЧЕСКАЯ КАТЕГОРИЯ В ПЕРЕХОДНЫЙ ПЕРИОД [2.1.1] Стоимо...
18017. Чистильщики московских улиц: скинхеды, СМИ и общественное мнение 556 KB
  В. А. Шнирельман Чистильщики московских улиц: скинхеды СМИ и общественное мнение Работа выполнена по проекту Анализ распространенных стереотипов в молодежной среде выработка и реализация мер по преодолению влияния их негативного аспекта в рамках среднеср
18018. Что такое политическая философия: размышления и соображения 595 KB
  Александр Моисеевич Пятигорский Что такое политическая философия: размышления и соображения Аннотация К чему приводит общее снижение уровня политической рефлексии Например к появлению новых бессмысленных слов: урегулирование политического кризиса ведь к...
18019. Деньги и Кредит 2.59 MB
  Деньги и Кредит СОДЕРЖАНИЕ: РАЗДЕЛ. ДЕНЬГИ Глава. НЕОБХОДИМОСТЬ ДЕНЕГ ИХ ВОЗНИКНОВЕНИЕ И СУЩНОСТЬ. Предпосылки и значение появления денег. Сущность денег. ФУНКЦИИ ВИДЫ ДЕН