Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Данные для тестирования





Тестирование должно обеспечить проверку работоспособности функций для всех вариантов входных данных. Входные данные, на которых должно проводиться тестирование, сведены в таблицу:

вариант src num len dest

1 012345 2 2 23

012345 0 1 0

012345 0 6 012345

2 012345 5 3 5

012345 2 6 2345

012345 0 7 012345

3 012345 8 2 пусто

4 012345 -1 2 пусто

012345 5 0 пусто

012345 5 -1 пусто

Текст программы

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

/******** Файл LAB1.C **************************/

#include <stdio.h>

#define N 80

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

/* Функция выделения подстроки (массивы) */

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

int substr_mas(char src[N],char dest[N],int num,int len){

int i, j;

/* проверка случая 4 */

if ((num<0)||(len<=0)) {

dest[0]=0; return 0;

}

/* выход на num-ый символ */

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

/* проверка случая 3 */

if (src[i]=='\0') {

dest[0]=0; return 0;

}

/* перезапись символов */

for (i--, j=0; j<len; j++, i++) {

dest[j]=src[i];

/* проверка случая 2 */

if (dest[j]=='\0') return 1;

}

/* запись признака конца в выходную строку */

dest[j]='\0';

return 1;

}

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

/* Функция выделение подстроки */

/* (адресная арифметика) */

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

int substr_ptr(char *src, char *dest, int num, int len) {

/* проверка случая 4 */

if ((num<0)||(len<=0)) return dest[0]=0;

/* выход на num-ый символ или на конец строки */

while (num-- && *src++);

/* проверка случая 3 */

if (!num) return dest[0]=0;

/* перезапись символов */

while (len-- && *src) *dest++=*src++;

/* запись признака конца в выходную строку */

*dest=0;

return 1;

}

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

main()

{

char ss[N], dd[N];

int n, l;

clrscr();

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

gets(ss);

printf("начало=");

scanf("%d",&n);

printf("длина=");

scanf("%d",&l);

printf("Массивы:\n");

if (substr_mas(ss,dd,n,l)) printf(">>%s<<\n>>%s<<\n",ss,dd);

else printf("Ошибка! >>%s<<\n",dd);

dd[0]='\0';

printf("Адресная арифметика:\n");

if (substr_ptr(ss,dd,n,l)) printf(">>%s<<\n>>%s<<\n",ss,dd);

else printf("Ошибка! >>%s<<\n",dd);

getch();

}

:

Лабораторная работа №2.
Представление в памяти массивов и матриц

Цель работы

Получение практических навыков в использовании указателей и динамических объектов в языке C, создание модульных программ и обеспечение инкапсуляции.







Date: 2015-05-22; view: 771; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию