Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158

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

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

Студворк — интернет-сервис помощи студентам
Если в командной строке заданы опции -x -n <образец>, то необходимо распечатать те строки введенного текста с их номерами, в которых не найден указанный образец, а при указании опций -x <образец> распечатать те же строки, только без номеров.
Че то я не могу понять
Помогите плиз))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2010, 21:30
Ответы с готовыми решениями:

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

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

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

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

Цитата Сообщение от Бо Посмотреть сообщение
сли в командной строке заданы опции -x -n <образец>
хотябы даже это?
0
Эксперт С++
 Аватар для Maxim Prishchepa
1936 / 1048 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
21.04.2010, 14:41
Цитата Сообщение от Бо Посмотреть сообщение
Если в командной строке заданы опции -x -n <образец>,
скорее всего имеется ввиду, что при вызове вашей программы будет указанно: youProgram.exe -x -n <образец>, смотрите параметры функции main, а именно: agrс и agrv
1
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
29.05.2010, 10:20  [ТС]
а можна хоть начало программы чуть чуть,чтоб я понял откудава стартовать?)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
31.05.2010, 17:58
Цитата Сообщение от Бо Посмотреть сообщение
а можна хоть начало программы чуть чуть
можно!
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  [ТС]
шо то ни как не могу въехать
помогите!

Добавлено через 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
Цитата Сообщение от Бо Посмотреть сообщение
Если в командной строке заданы опции -x -n <образец>, то необходимо распечатать те строки введенного текста с их номерами, в которых не найден указанный образец, а при указании опций -x <образец> распечатать те же строки, только без номеров.
Че то я не могу понять
Помогите плиз))
обрати внимание на grep
1
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
07.06.2010, 23:16  [ТС]
Цитата Сообщение от time2die Посмотреть сообщение
обрати внимание на grep
grep??что это?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
08.06.2010, 00:38
Бо, за две с половиной недели так ничего и не придумалось? А ведь это довольно лёгкое задание, дальше-то что будет? Вот, изучайте:
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  [ТС]
easybudda, спасиба огромнейшее!!!)))))

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

кстати, сейчас вижу, что написал слегка коряво... но исправлять уже лениво, попробуйте сами, если найдёте...
1
 Аватар для Бо
5 / 5 / 2
Регистрация: 08.12.2009
Сообщений: 158
08.06.2010, 19:26  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
сохраните это в файл к примеру program.c скомпилируйте и запустите из командной строки
program.exe -n -e exit program.c
сохранил.открыл в меню пуск командная строка(первый раз в жизни) и что теперь??писал -n -e exit program.c,перетаскивал файл program.c ..не пойму как с ней работать.
объясните плиз.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
08.06.2010, 19:29
Цитата Сообщение от Бо Посмотреть сообщение
открыл в меню пуск командная строка(первый раз в жизни)
Поздравляю!
Для простоты переложите и 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  [ТС]
Цитата Сообщение от easybudda Посмотреть сообщение
Поздравляю!
cпc)))

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

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

Добавлено через 18 часов 16 минут
easybudda, спасиба !я разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2010, 15:13
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru