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] =
Контрольная работа | Концепция информатизации Российской Федерации |
Контрольная работа | Причины агрессивного поведения. Методы работы с агрессивными детьми |
Контрольная работа | Алгоритм выбора и реализации предпринимательской идеи |
Контрольная работа | Системы управления взаимоотношения с клиентами |
Контрольная работа | Учет материальных затрат в бухгалтерском учете |
Контрольная работа | Геополитическое положение России |
Контрольная работа | Особенности вознаграждения работников в организации |
Контрольная работа | Виды запасов |
Контрольная работа | Психоанализ |
Контрольная работа | Экономико-географическая характеристика Печорского угольного бассейна 2 |
Контрольная работа | Биотехнология и переработка отходов. Биогаз |
Контрольная работа | Производственная логистика |
Контрольная работа | Экспертиза научной и практической ценности документов |
Контрольная работа | Производная, дифференциал и интеграл |
Контрольная работа | Методика воспитания звуковой культуры речи дошкольников с помощью современных методов и приемов обучения |