Форум программистов, компьютерный форум CyberForum.ru

Поиск слова в тексте - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
301 / 257 / 89
Регистрация: 16.10.2010
Сообщений: 1,157
Завершенные тесты: 1
16.10.2010, 22:48     Поиск слова в тексте #1
Текст представляет собой програму на языке Си. Подсчитать количество инструкций for, вложеных в одну. Программа должна быть написана на языке Си
прошу помощи
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
17.10.2010, 13:02     Поиск слова в тексте #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
char text[] =
"int main(void)\n"
"{\n"
"  int i, j;\n"
"  for( i = 0; i < 5; i++ )\n"
"  {\n"
"    for( j = 0; j < 5; j++ )\n"
"      printf(\"Hello  \");\n"
"    printf(\"\n\");\n"
"  }\n"
"  getch();\n"
"}\n";
 
int main(void)
{
  char *pc = text;
  int k = 0;
  while(pc = strstr(pc, "for"))
  {
    pc++;
    k++;
  }
  printf("%i tcikla \"for\" v programme.", k);
  getch();
  return 0;
}
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
301 / 257 / 89
Регистрация: 16.10.2010
Сообщений: 1,157
Завершенные тесты: 1
17.10.2010, 15:34  [ТС]     Поиск слова в тексте #3
Спасибо,предложеный код помог разобраться в функции поиска подстроки.
Но эта программа ищет общее количество инстрикций for в коде...Мне нужно количество инструкций вложеных в одну,хотя, я понятия не имею как это сделать,может быть что-то с флагом....
Да,и еще вопрос.Как заполнить масив кодом из файла?
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
17.10.2010, 19:42     Поиск слова в тексте #4
Как заполнить масив кодом из файла?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
  FILE *fin;
  char fname_in[] = "text.c"; /* text.c - имя файла */
  char *buf;
  long size = 0;
  if( (fin = fopen( fname_in, "rb" )) == NULL ) /* "rb" значит r - открытия для чтения, а b - двоичный файл. */
  {
    printf("Error open file\n");
    getch();
    return 1;
  }
  fseek( fin, 0L, SEEK_END );
  size = ftell( fin );
  printf( "size = %li\n", size );
  getch();
  fseek( fin, 0L, SEEK_SET );
  buf = (char*)malloc( size + 1 );
  fread( buf, 1, size, fin );
  /* И в buf уже находится текст файла*/
 buf[size] = '\0'; /* Указываем конец файла */
  printf( buf );
  /* !!! И НЕ ЗАБЫВАЙТЕ ОСВОБОЖДАТЬ ПАМЯТЬ И ЗАКРЫВАТЬ ФАЙЛЫ !!! */
  fclose( fin );
  free( buf );
  getch();
  return 0;
}


Совету почитать вот эту книжку и вы получите ответы на многие вопросы связанные с C.
lvlkoo
.NET C#,ASP.NET MVC
 Аватар для lvlkoo
301 / 257 / 89
Регистрация: 16.10.2010
Сообщений: 1,157
Завершенные тесты: 1
18.10.2010, 23:05  [ТС]     Поиск слова в тексте #5
Все еще нуждаюсь в помощи
Yandex
Объявления
18.10.2010, 23:05     Поиск слова в тексте
Ответ Создать тему
Опции темы

Текущее время: 12:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru