Контрольная работа по предмету "Программирование, компьютеры и кибернетика, ИТ технологии"


Найти самое длинное общее слово двух заданных предложений.



1

Цель работы: Научиться работать со строками с помощью указателей.

Задание:

Найти самое длинное общее слово двух заданных предложений.

Требования к программе:

1. Ввод и вывод как с терминала (stdio), так и из/в файл (< и >).

2. Работа со строками только через указатели.

Выполнение работы

Описание входных, выходных и промежуточных данных.

Входные данные:

str1,str2 : символьный // срока 1 и строка 2

Выходные данные:

p : символьный // хранит в семе максимальное слово

Промежуточные данные:

st1, st2 : символьный // массив скалярных произведений

i,n,j,k : целый // границы слова в первой и во второй строке

Алгоритм.

Листинг программы

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include <math.h>

#include <stdio.h>

/*титульный лист*/

void tit_list()

{

clrscr();

gotoxy(20,1);

printf("Министерство образования и науки Украины");

gotoxy(12,2);

printf("Донецкий государственный институт искусственного интеллекта");

gotoxy(31,8);

printf("Лабораторная работа №3 ");

gotoxy(35,9);

printf("по дисциплине:");

gotoxy(17,10);

printf("Основы программирования и алгоритмические языки");

gotoxy(50,15);

printf("Выполнил:");

gotoxy(50,16);

gotoxy(50,17);

gotoxy(50,19);

printf("Проверил: ");

gotoxy(50,20);

gotoxy(50,21);

getch();

return;

}

int cha (char char1){

if( ((char1 < -16)&&(char1 >-33)) || ((char1 < -80)&&(char1 > -129)) || ((char1 > 96)&&(char1 < 123)) || ((char1 > 64)&&(char1 < 91))){ return 1;}

else { return 0; }

}

int sravn_char (char c1,char c2){

if (abs(c1) > abs(c2)){

switch (abs(c1 - c2)){

case 32: if ( ( (c1 > -129)&&(c1 < -112) )||( (c1 > 96)&&(c1 < 123) ) ){

return 0;}

else {return -2;} break;

case 80: if ((c1 > -113)&&(c1 < -96)){

return 0;}

else {return -3;} break;

default: ;return -1;break;

}

}

else{

switch (abs(c2 - c1)){

case 0: return 0;break;

case 32: if ( ( (c2 > -129)&&(c2 < -112) )||( (c2 > 96)&&(c2 < 123) ) ){

return 0;}

else {return -2;} break;

case 80: if ((c2 > -113)&&(c2 < -96)){

return 0;}

else {return -3;} break;

default: return -1; break;

}

}

}

int main(void)

{

tit_list();

clrscr();

char *input,*name;

char *p,*bf,*buf,*str1,*str2;

int b=0,k,lev1,lev2,l1,l2,prv1,prv2;

int l,bb,v,n;

//************* ВВОД ДАННЫХ *****************************************

FILE *f = fopen("Отчет.zen","w+");

c:

clrscr();

printf("[1] Ввод с клавиатурыn");

printf("[2] Ввод с файлаn");

printf("[0] Выходn");

switch (getch()){

case 49:

//************* ввод с клавиатуры ***********************

clrscr();

char fstr1[10000],fstr2[10000];

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

gets(fstr1);

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

gets(fstr2);

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

fprintf(f,"Данные вводяться с клавиатуры n");

printf("n********************************************n");

fprintf(f,"n********************************************n");

printf("n Первая строка:n");

fprintf(f,"n Первая строка:n");

printf("%s nn",fstr1);

fprintf(f,"%s nn",fstr1);

printf(" Вторая строка:n");

fprintf(f," Вторая строка:n");

printf("%s n",fstr2);

fprintf(f,"%s n",fstr2);

printf("n********************************************n");

fprintf(f,"n********************************************n");

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

p[0] =



Не сдавайте скачаную работу преподавателю!
Данную контрольную работу Вы можете использовать для выполнения своих заданий.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :