0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 27
1

Строка: Вывести на экран из строки индификаторов, все индификаторы, которые не содержат в себе цифр.

20.03.2013, 15:27. Показов 1446. Ответов 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
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
#include<stdio.h>
#include <stdlib.h>
#include <ctype.h>
 
#define M 21   //количество символов в слове
#define N 35   //количество слов
 
 
void poisk(void);
 
main()
{
 char A[N][M];
    int i,j;
   char x;
 
    printf("\n Vvedite stroky identificatorov, v konce postav'te ',' \n");
        for (i=0; i<M; ++i)
   {
    for (j=0; j<N; ++j)
      {
        x=scanf("%c",&A[i][j]);
         if (x==0)
            printf("\n error,ne vvedeni indifikatori");
         if ((A[i][j]==' ')||(A[i][j]==','))
            break;
      }
      if (A[i][j]==',')
        break;
   }
   /*вывод содержимого на дисплей*/
   printf("\n vi vveli:\n");
   for (i=0;i<N;i++)
   {
    for(j=0;j<M;j++)
      {
        printf("%c",A[i][j]);
         if ((A[i][j]==' ')||(A[i][j]==','))
            break;
      }
      if (A[i][j]==',')
        break;
   }
   printf("\n");
   poisk(&(A[N][M]));
    getchar();
   getchar();
   return 0;
}
/*поиск идентификаторов не содержащих цифр и вывод их на дисплей*/
void poisk(void)
{
    char A[N][M];
    int i,j,rez,k;
   printf("\n Rezul'tat:\n");
   for (i=0;i<N;++i)
   {
      rez=0;
    for(j=0;j<M;++j)
      {
         if (isdigit(A[i][j]))
            {
                rez=1;
               break;
            }
         if ((A[i][j]==' ')||(A[i][j]==','))
            break;
      }
      if (rez==0)
      {
            for (k=0;k<M;++k)
         {
            printf("%c",A[i][k]);
            if ((A[i][k]==' ')||(A[i][k]==','))
                break;
         }
      }
      if (A[i][j]==',')
        break;
   }
}
Программа прекращает работу на функции "isdigit", объясните пожалуйста, почему это так, или помогите пожалуйста исправить этот код. Суть в том, что программа выводит на экран из строки индификаторов, все индификаторы, которые не содержат в себе цифр.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.03.2013, 15:27
Ответы с готовыми решениями:

Дана строка. Вывести на экран все слова, которые содержат хотя бы одну букву k
Дана строка. Вывести на экран все слова, которые содержат хотя бы одну букву k.

Вывести на экран в текущем каталоге имена тех каталогов, которые в себе не содержат подкаталогов
Здравствуйте.. Выдали данное задание на С++ под linux Разработать программу, которая выводит на...

Вывести на экран в текущем каталоге имена тех каталогов, которые в себе не содержат подкаталогов
Здравствуйте.. Выдали данное задание на С++ под linux Разработать программу, которая выводит на...

Скопировать из файла F1 в файл F2 все строки, которые не содержат цифр
Нужно скопировать из F1 в F2 все строки которые не содержат цифры. Реализовать нужно на си.

2
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
11708 / 7215 / 1710
Регистрация: 25.07.2009
Сообщений: 13,216
20.03.2013, 15:46 2
Как-то сложно у Вас всё...
Читает строку, печатает слова, не содержащие цифр:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <string.h>
 
#define DELIM " \t\n"
#define DIGITS "1234567890"
 
int main(void) {
    char buf[BUFSIZ], * p;
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        for ( p = strtok(buf, DELIM); p != NULL; p = strtok(NULL, DELIM) )
            if ( ! strpbrk(p, DIGITS) )
                printf("%s\n", p);
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 27
20.03.2013, 18:41  [ТС] 3
На самом деле спасибо, но вот проблема в том что мне нужно исправить именно этот код... а разобраться не получается
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2013, 18:41
Помогаю со студенческими работами здесь

Вывести на экран те строки файла, которые не содержат слово NO
Требуется помощь в двух задачах, пишу сюда, ибо сам зашел в тупик. Желательно код с комментариями,...

Вывести на экран те слова из строки, которые содержат букву А
Дана последовательность слов, разделенных пробелами. Вывести на экран те из них, которые содержат...

Строка: Вывести на экран только те строки, что не содержат двузначных чисел.
Написать программу, которая считывает текст из файла и выводит на экран только строки, не...

Вывести на экран строки файла,которые содержат не менее 2-х запятых
Помогите пожалуйста решить три задачи\ 2.Вывести на экран строки файла,которые содержат не менее...


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

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

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