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

Стоит задача сравнение и подсчета символов строки. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Где ошибка в формуле ??? http://www.cyberforum.ru/cpp-beginners/thread350295.html
Задача Код void lab1::funB( double x, double y, double z ) { double b1 = pow( fabs( y + z ), 0.2 ); double b2 = pow( fabs( z ), 1.34 ); double b3 = pow( y - z, 2 ); double b4 = 1 + ( pow( sin( z ), 2 ) );
C++ Какое добавить условие чтобы произведение при отрицательных числах равнялось 0? #include<stdio.h> #include<conio.h> #include<iostream.h> #include<math.h> void main() { int sum,razn,proizv,i,minA,minB,min; const int n=4; int A,B,P,mina,minb; http://www.cyberforum.ru/cpp-beginners/thread350288.html
Вывести К-тый отрицательный элемент в упорядоченном дереве поиска с просмотром TLR C++
Должен выводиться К-тый отрицательный элемент в упорядоченном дереве поиска с просмотром TLR *.cpp #include "TREE.h" int main() { NodePtr t; int k, e, rez; TREE str;
C++ Где ошибки
Не получается отладить: *.cpp #include "strf.h" int main() { STRF strf; return 0; }
C++ найти ошибку в задаче шахматы http://www.cyberforum.ru/cpp-beginners/thread350278.html
здравствуйте! не могу найти ошибку в своем решений. у кого какие идеи? условие задачи: Азиз и Иван решили поиграть в шахматы. Однако у них не нашлось целой шахматной доски, поэтому Иван склеил ее из нескольких кусков. Каждый кусок вырезан из правильной шахматной доски. Однако Азиз считает что на полученной доске просто невозможно играть в шахматы. Поэтому вместо игры в шахматы они решили...
C++ помогите с решением написать программу составления пятиугольника с вершинами вершинами (100,100), (150,100), (170,120), (150,140), (100,100). Закрасить поле с другим цветом. на языке dev-c++ подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
12.09.2011, 17:39
Вот алгоритм на С++
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
92
93
#include <iostream>//malloc realloc
#include <conio.h>
using namespace std;
 
//Руссификация
ostream& operator<<(ostream &stream,char* s){
    for(char* ps=s; *ps; ps++){
        if(*ps=='ё')
            stream<<char(241);
        else if(*ps=='Ё')
            stream<<char(240);
        else if(*ps>=-64 && *ps<=-17)           
            stream<<char(*ps+64+128);
        else if(*ps<0)
            stream<<char(*ps+64+176);
        else
            stream<<*ps;
    }
    return stream;
}
 
char sTetrads[][5] = {
    "0000",
    "1000",
    "0100",
    "1100",
    "0010",
    "1010",
    "0110",
    "1110",
    "0001",
    "1001",
    "0101",
    "1101",
    "0011",
    "1011",
    "0111",
    "1111"
};
 
bool CompStrTetrada(char * str, const char * sTetrada);
 
int main()
{
    long i,j,sLen,n = 16;
    //Всего тетрад 16 : 1111 = 2^0 + 2^1 + 2^2 + 2^3 = 15
    int iTetrads[16] = {0};//Число каждой тетерады в тектсе 
    
 
    char * s;
    char str[1025];
    do
    {
        for(j = 0; j < n; j++)
            iTetrads[j] = 0;//Обнуляем счётчики тетерад
        std::cout<<"Введите строку (не более 1024 символов)\r\n:>";
        std::cin.getline(str,1024);//Читаем строку
        sLen = strlen(str);
        //Добавляем текст нулями текст если строка содержала не кратное 4 число символов
        if((j = sLen % 4) != 0)
        for(i = sLen; i < sLen + (4 - j); i++)
            str[i] = '0';
        std::cout<<"\tИсходная строка разбитая на тетрады\r\n";
        for(i = 0; i < sLen; i += 4)
        {
            s = &str[0] + i;//str уже константная поєтому нужно с адресом работать &str[0]
            printf("%c%c%c%c ",s[0],s[1],s[2],s[3]);
            for(j = 0; j < n; j++)
            {
                //Если нашли тетраду увеличиваем счётчик соответсвующей тетрады на 1-цу
                if(CompStrTetrada(s, sTetrads[j]))
                    iTetrads[j] += 1;
            }
        }
        std::cout<<"\r\n\tСписок тетрад в тектсе\r\n";
        for(j = 0; j < n; j++)
            std::cout<<sTetrads[j]<<" : "<<iTetrads[j]<<"\r\n";
         std::cout<<"Y - новый ввод\r\n";
    }
    while(toupper(getch()) == 'Y');
    getch();
    return 0;
}
 
bool CompStrTetrada(char * str, const char * sTetrada)
{
    bool bRet = false;
    char sCmp[4];
    strncpy(sCmp,str,4);//Копируем 4 первых символа строки str
    if(strcmp(sCmp,sTetrada) == 0)
        bRet = true;
    return bRet;
}
Миниатюры
Стоит задача сравнение и подсчета символов строки.  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru