АЯиП отчеты по лабам (кроме 24) (отчет лр 22)

Посмотреть архив целиком

Лабораторная работа 22.

Использование указателей при работе со строками С++.



Задание: Дан текст. Слова в тексте разделены пробелами. Текст завершается точкой. Определить количество слов, в которые одновременно входят буквы А и Т. Пользуясь указателями, выдать на экран адреса этих слов.


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


// lab22.cpp : Defines the entry point for the console application.

//Дан текст. Слова в тексте разделены пробелами. Текст завершается точкой.

//Опреде-лить количество слов, в которые одновременно входят буквы А и Т.

//Пользуясь указателями, выдать на экран адреса этих слов


#include "stdafx.h"

#include

#include

#include

#include


int main(int argc, char* argv[])

{

char stres[100],*ptr;

int nom,k,fl=0;

printf ("Vvedite stroky. tochka - konec: \n");

nom=0;

k=0;


// организуем цикл обработки слов

while (strcmp(stres,"")!=0)

{

scanf ("%s", stres);

if (k=0)

{

ptr=strchr(stres,' '); k++;

}

if (strstr (stres,".")!=NULL)

{

fl=strlen(stres);

stres[fl]='\0';

}

//Выводим слова. Проверяем подходят они или нет.

if ((strstr (stres,"a")!=NULL) & (strstr (stres,"t")!=NULL))

{

nom++;

ptr=&stres[strlen(stres)];

printf (" + Iskomoe slovo nomer %d - %10s s nachalom v adrese %p\n",nom,stres,ptr);

}

else printf (" - Slovo '%s' ne podxodit. \n",stres);


if ((strstr (stres,".")!=NULL)) strcpy(stres,""); //Выход из цикла

}

puts("");

printf("Naideno %d slov(a) s bukvami 'a' i 't' !",nom);


getch();

return 0;

}




Тест:




































Схема алгоритма:


Случайные файлы

Файл
Belinsky.doc
143027.rtf
16272.rtf
151454.rtf
29740.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.