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

Подсчет латинских букв - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы. http://www.cyberforum.ru/cpp-beginners/thread191067.html
Нужно написать 3 задачи на Borland С++. Желательно в самом простом написании. Вот задачи: ЗАДАНИЕ. Задав одномерный массив из n вещественных или целых элементов реализовать обработку массива, как указано в варианте. Длина массива N задается пользователем. Исходные данные задать самостоятельно, учитывая формат элементов массива A. Исходные данные должны вводиться с проверкой на область...
C++ последовательность задан массив a; предполагается что в нем есть последовательность эл-ов упоряд-ых по убыв. найти и удалить упор послед содержащюю более 5 элементов. http://www.cyberforum.ru/cpp-beginners/thread191062.html
Получить квадратную матрицу по правилу C++
кто может напишите код пожалуйста
C++ написать программу на С++ для вычиления: y=1.5,x=1.5;y=e+1,x!=1.5;y=2,x<1.5
Помогите пожалуйста!! нужно написать программу на С++ для вычиления: y=1.5,x=1.5;y=e+1,x!=1.5;y=2,x<1.5. Нужно написать через switch! у меня получается только через if: #include<iostream.h> #include<math.h> #include<conio.h> void main() { clrscr(); double x,e=2.7,y; cout<<"\n Vvedite x=";cin>>x; if (x==1.5 ) y=x;
C++ Удаление главной диагонали http://www.cyberforum.ru/cpp-beginners/thread191048.html
Условие: Написать программу по обработке массива, как объекта созданного вами класса «Массив». В отчете предоставить листинг программы результаты вычислений. Операции с массивами следует реализовать программно, используя указатели,а не индексы. Вот мой, так сказать недокод : #include "stdafx.h" #include <conio.h> #include <iostream> #include <math.h> #include <time.h>
C++ Двухмерный массив(перестановка строк) #include <stdio.h> #include <math.h> #include <windows.h> #include <iostream.h> main () { SetConsoleOutputCP(1251); int n, m, i, j, k, max, r, c, x, u=0; float a, b, M; double sum; подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
27.11.2010, 23:27     Подсчет латинских букв
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
#include <stdio.h> /* там объявление printf() и имя типа size_t */
 
/* прототип функции задаётся, чтобы все функции знали,
   как должен выглядеть правильный вызов */
size_t count_words(const char *s, const char *d); /* s и d можно не писать */
/* вместо s и d можно написать любые названия, можно их вообще не писать
   size_t count_words(const char *, const char *);
   но обычно удобнее вспоминать как работает функция, когда там есть названия */
 
int main(void)
{
    const char *line = "aa"; /* создаётся указатель на неменяемую строку,
                                он инициализируется адресом первого символа строки,
                                находящейся где-то в неменяемой памяти
                                (открытой только для чтения) */
    
    printf("%u" "\n", count_words(line, " "));
    /* сначала вызывается функция count_words(),
       в её вызов передаются два аргумента:
       1) адрес, хранящийся в указателе line (адрес символа 'a')
       2) адрес, который имеет первый символ строки " " (адрес символа ' ')
       когда она возвращает результат, он передаётся в вызов функции printf()
       printf() принимает два аргумента:
       1) адрес первого символа строки "%u\n" (адрес символа '%')
       2) значение типа unsigned int */
     
    printf("%u" "\n", count_words("0x12 absd 123 43h e12 0 12g44 t", " "));
    /* сначала вызывается функция count_words(),
       в её вызов передаются два аргумента:
       1) адрес, который имеет первый символ строки "0x12 ... " (адрес символа '0')
       2) адрес, который имеет первый символ строки " " (адрес символа ' ')
       когда она возвращает результат, он передаётся в вызов функции printf()
       printf() принимает два аргумента:
       1) адрес первого символа строки "%u\n" (адрес символа '%')
       2) значение типа unsigned int */
    
    return 0; /* 0 - признак успешного завершения программы, не ноль - всё остальное */
}
 
#include <string.h> /* там объявление strchr() и имя типа size_t */
#include <ctype.h> /* там объявление isalpha(), если это функция */
/* эти включения записаны здесь, потому что нужны только для функции ниже,
   функция, находящаяся выше, не использует из этих файлов ничего;
   будет удобно эту функцию отсоединить в отдельный файл .c,
   так как все заголовочные файлы включены рядом с ней */
 
/* count_words:  подсчитывает количество слов в строке s,
                 разделённых разделителями из строки d */
size_t count_words(const char *s, const char *d)
{
    size_t i, nwords;
    /* size_t позволяет обрабатывать длинные строки,
       количество слов тоже может быть большим */
    int inword; /* флаг состояния внутри_слова/снаружи_слова */
 
    inword = 0; /* устанавливаем флаг в снаружи_слова */
    for (nwords = i = 0; s[i] != '\0'; i++)
        /* цикл заканчивается на нуль-символе исходной строки s */
        if (isalpha(s[i])) { /* если символ какой-то из a-zA-Z */
            if (!inword) /* если снаружи слова */
                if (i == 0 || (i > 0 && strchr(d, s[i - 1]) != NULL))
                    inword = 1;
                /* если это первый символ строки, установить флаг в внутри_слова;
                   если это не первый символ строки и слева от него находится
                   какой-то из разделителей слов, установить флаг в внутри_слова;
                   флаг устанавливается на первом символе каждого слова */
        } else if (inword) { /* если символ не один из a-zA-Z и находится после слова */
            inword = 0; /* установить флаг в снаружи_слова */
            if (strchr(d, s[i]) != NULL) /* в строке разделителей слов d ищем этот символ */
                /* если он есть среди разделителей слов, увеличиваем счётчик слов */
                nwords++;
                /* мы флаг обратно не включаем в обратном случае,
                   а что будет с последовательностью abc1def, если 1 - не разделитель ?
                   по ходу требует доработки; не, тест показал, что всё будет окей
                   def не станет новым словом, потому что слева не разделитель */
        }
    if (inword) /* если строка закончилась, а в конце строки было слово */
        nwords++;
    return nwords; /* возвращает ноль или количество слов */
}
 
Текущее время: 19:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru