5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
1

Поиск строк по образцу

20.04.2010, 21:30. Показов 2320. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если в командной строке заданы опции -x -n <образец>, то необходимо распечатать те строки введенного текста с их номерами, в которых не найден указанный образец, а при указании опций -x <образец> распечатать те же строки, только без номеров.
Че то я не могу понять
Помогите плиз))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2010, 21:30
Ответы с готовыми решениями:

Сортировать массив строк по образцу
Доброго времени суток! Помогите с сортировкой массива по образцу. Например в мемо1 у нас 4...

Поиск картинок по образцу
Всем привет. Хочу реализировать поиск картинок по примеру(образцу) Выбираем изображения, или...

Поиск изображения по образцу
Помогите пожалуйста составить алгоритм поиска изображения в изображении. Есть изображение...

Макрос поиск записи по образцу
Здравствуйте, подскажите пож-ста. Что не так я сделала? у меня не работает макрос поиск по...

16
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
21.04.2010, 14:12 2
Че то я не могу понять
Понять что ?
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
21.04.2010, 14:37  [ТС] 3
Цитата Сообщение от odip Посмотреть сообщение
Понять что ?
ну задачу.

Цитата Сообщение от Бо Посмотреть сообщение
сли в командной строке заданы опции -x -n <образец>
хотябы даже это?
0
Эксперт С++
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
21.04.2010, 14:41 4
Цитата Сообщение от Бо Посмотреть сообщение
Если в командной строке заданы опции -x -n <образец>,
скорее всего имеется ввиду, что при вызове вашей программы будет указанно: youProgram.exe -x -n <образец>, смотрите параметры функции main, а именно: agrс и agrv
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
29.05.2010, 10:20  [ТС] 5
а можна хоть начало программы чуть чуть,чтоб я понял откудава стартовать?)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
31.05.2010, 17:58 6
Цитата Сообщение от Бо Посмотреть сообщение
а можна хоть начало программы чуть чуть
можно!
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
 
int main(int argc, char **argv){
/* объявление переменных */
if ( argc == 1 ){
    printf("Usage: %s [-n] [-x <template_to_exclude>] <file_name>\n", *argv);
    exit(EXIT_FAILURE);
}
/* тут сама программа...*/
exit(EXIT_SUCCESS);
}
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
07.06.2010, 22:58  [ТС] 7
шо то ни как не могу въехать
помогите!

Добавлено через 1 час 23 минуты
у меня ни када не было ни одной задачи на командную строку,поэтому я не могу разобраться.
вот рассматриваю пример и тоже не понятно((

Составить программу, которая печатает аргументы командной строки в прямом порядке, если первым из них идет опция -s, и в обратном порядке, если первый аргумент - опция -r (cаму опцию не распечатывать).
Например, при вызове C:\prog -r мне не дают ананасы
должно быть выдано: ананасы дают не мне


что и куда надо вводить??


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    void main(int argc, char *argv[])
    {
      if(argc<2) 
        { 
          puts("Нужны аргументы в командной строке!");
          exit(-1);
        }
      if(argv[1][0]=='-' && argv[1][1]=='s' && argv[1][2]=='\0')
       { ++argv;  // будем печатать аргументы, начиная с третьего
         while (--argc>1)
           printf((argc>2)?"%s ":"%s\n", *++argv);
       }
       else if(strcmp(argv[1], "-r")==0)
          while (--argc>1)
            printf((argc>2)?"%s ":"%s\n", *(argv+argc));
         else puts("Первым должен быть аргумент -s или -r");
    }
Добавлено через 23 часа 28 минут
ну отреагируйте кто нить!!!!

Добавлено через 6 часов 32 минуты
Хелп!Хелп!Хелп!
0
52 / 52 / 10
Регистрация: 25.05.2010
Сообщений: 182
07.06.2010, 23:14 8
Цитата Сообщение от Бо Посмотреть сообщение
Если в командной строке заданы опции -x -n <образец>, то необходимо распечатать те строки введенного текста с их номерами, в которых не найден указанный образец, а при указании опций -x <образец> распечатать те же строки, только без номеров.
Че то я не могу понять
Помогите плиз))
обрати внимание на grep
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
07.06.2010, 23:16  [ТС] 9
Цитата Сообщение от time2die Посмотреть сообщение
обрати внимание на grep
grep??что это?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
08.06.2010, 00:38 10
Бо, за две с половиной недели так ничего и не придумалось? А ведь это довольно лёгкое задание, дальше-то что будет? Вот, изучайте:
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
/*
    Extendet cat program. Options:
    -n : string numbers.
    -e "some string" : pattern to exclude strings contains it.
    file_name : name of input file. Single - for stdin.
*/
 
int main(int argc, char **argv){
    char * progName, * fileName, * pattern, buf[BUFSIZ];
    int countEnabled, i;
    long nRow;
    FILE * fin;
    
    /* default values */
    progName = *argv;
    fileName = NULL;
    pattern = NULL;
    *buf = 0;
    countEnabled = 0;
    nRow = 0;
    fin = NULL;
    
    if ( argc < 2 ){
        fprintf(stderr, "Usage: %s [-n] [-e \"pattern\"] <file_name>\n", progName);
        exit(EXIT_FAILURE);
    }
    
    /* arguments */
    for ( i = 1; i < argc; ++i ){
        if ( argv[i][0] == '-' ){
            switch ( argv[i][1] ){
                case 'n' :
                    countEnabled = 1;
                    break;
                case 'e' :
                    if ( ++i > argc - 2 ){
                        fprintf(stderr, "%s: option -e used without pattern!\n", progName);
                        exit(EXIT_FAILURE);
                    }
                    pattern = argv[i];
                    break;
                case '\0' :
                    fin = stdin;
                    break;
                default :
                    fprintf(stderr, "%s: unknown option: %s\n", progName, argv[i]);
                    exit(EXIT_FAILURE);
            }
        }
        else if ( i > argc - 1 ){
            fprintf(stderr, "%s: the last parametre should be a filename!\n", progName);
            exit(EXIT_FAILURE);
        }
        else
            fileName = argv[i];
    }
    
    /* opening the file */
    if ( ! fin ) {
        if ( ! fileName ){
            fprintf(stderr, "%s: no input file name given!\n", progName);
            exit(EXIT_FAILURE);
        }
        if ( ( fin = fopen(fileName, "r") ) == NULL ){
            fprintf(stderr, "%s: can't open file %s for input!\n", progName, fileName);
            exit(EXIT_FAILURE);
        }
    }
    
    while ( fgets(buf, BUFSIZ, fin) ){
        if ( pattern )
            if ( strstr(buf, pattern) )
                continue;
        if ( countEnabled )
            printf("%03ld: %s", ++nRow, buf);
        else
            printf("%s", buf);
    }
    if ( ferror(fin) ){
        perror("ferror");
        exit(EXIT_FAILURE);
    }
    if ( fin != stdin )
        fclose(fin);
    
    exit(EXIT_SUCCESS);
}
Цитата Сообщение от Бо Посмотреть сообщение
grep??что это?
man grep
2
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
08.06.2010, 18:56  [ТС] 11
easybudda, спасиба огромнейшее!!!)))))

Добавлено через 47 минут
да и ещея так понял,что это все что написано является функцией?нужно теперь написать ввод числа и какого либо текста??а образец у нас находится в файле??
чесно очень туго что то дается!то ли это лето оказывает влияние ,то ли я такой бестолковый.
подскажите плиз)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
08.06.2010, 19:09 12
Бо, сохраните это в файл к примеру program.c скомпилируйте и запустите из командной строки
program.exe -n -e exit program.c

кстати, сейчас вижу, что написал слегка коряво... но исправлять уже лениво, попробуйте сами, если найдёте...
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
08.06.2010, 19:26  [ТС] 13
Цитата Сообщение от easybudda Посмотреть сообщение
сохраните это в файл к примеру program.c скомпилируйте и запустите из командной строки
program.exe -n -e exit program.c
сохранил.открыл в меню пуск командная строка(первый раз в жизни) и что теперь??писал -n -e exit program.c,перетаскивал файл program.c ..не пойму как с ней работать.
объясните плиз.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
08.06.2010, 19:29 14
Цитата Сообщение от Бо Посмотреть сообщение
открыл в меню пуск командная строка(первый раз в жизни)
Поздравляю!
Для простоты переложите и program.exe и program.c в корень диска С:
а потом в консоли
c:
cd \
program.exe -n -e exit program.c
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
08.06.2010, 19:37  [ТС] 15
Цитата Сообщение от easybudda Посмотреть сообщение
Поздравляю!
cпc)))

Цитата Сообщение от easybudda Посмотреть сообщение
переложите и program.exe и program.c в корень диска С:
а потом в консоли
мля я не понимаю этих слов
переместить файлы
Цитата Сообщение от easybudda Посмотреть сообщение
program.exe и program.c
на С диск,а потом вкомандной строке ввести??
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11896 / 7268 / 1721
Регистрация: 25.07.2009
Сообщений: 13,311
08.06.2010, 19:51 16
Цитата Сообщение от Бо Посмотреть сообщение
переместить файлы
Цитата Сообщение от easybudda Посмотреть сообщение
program.exe и program.c
на С диск,а потом вкомандной строке ввести??
ну можно и так сказать
1
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
09.06.2010, 15:13  [ТС] 17
ну у меня запускается после этого визуал ,а дальше как?
компилировать?
или там же писать program.exe -n -e exit program.c ?

Добавлено через 1 час 0 минут
подскажите на простом языке,как запустить эту программу нормально.а то я ваще дуб и у меня не получается

Добавлено через 18 часов 16 минут
easybudda, спасиба !я разобрался
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2010, 15:13
Помогаю со студенческими работами здесь

Поиск записи по образцу в форме
Друзья, помогите, пожалуйста, в написании макроса (задача: поиск записи в форме по образцу)...

Поиск в аудиофайле фрагмента звука по образцу
Добрый день! Хотелось бы находить в аудиофайле звуковые фрагменты по заданному шаблону. Например,...

Реализовать поиск по образцу в каком-либо ЯП
Реализовать поиск по образцу в ЯП php с использованием regexp . Шаблон номера авто в HTML: &lt;div&gt;...

Поиск из файла по образцу(что то не работает)
Доброго времени суток! Задание: найти и вывести все записи из файла с фамилией которая вводится с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru