Форум программистов, компьютерный форум 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++ подробнее

Показать сообщение отдельно
Corvette
1 / 1 / 0
Регистрация: 09.09.2011
Сообщений: 45
11.09.2011, 23:51  [ТС]     Стоит задача сравнение и подсчета символов строки.
Вариант №1. с перемещением на 4 элемента и сравнение каждой четверки с шаблонами.

Спасибо за помощь!!!

Добавлено через 22 минуты
Попытался вот но не считает, где ошибка?

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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <cstdio>
#include <clocale>
 
using namespace std;
 
const int size = 21;
 
int main ()
{
    setlocale (LC_ALL, "Russian");
    char A [size] = {"01010100011010101010"};
        
    for (int i=0; i<size; i++) cout << A[i] << " ";
    cout << endl<< endl;
    
    int count_0=0, count_1=0,count_2=0,count_3=0,count_4=0,count_5=0,count_6=0,count_7 = 0,count_8=0,count_9=0,count_10 =0, count_11=0,count_12=0,count_13=0,count_14=0,count_15 =0;
      
    char C[16][5] = {{"0000"},{"0001"},{"0010"},{"0011"},{"0100"}, {"0101"}, {"0110"}, {"0111"}, {"1000"}, {"1001"}, {"1010"},
 {"1011"}, {"1100"}, {"1101"}, {"1110"}, {"1111"}};
    
    char temp [5][4];
    int temp_i=0;
    int temp_j=0;
        for (int i=0; i<20; i++) {
                if (i%4==0 && i)
                {
                        temp_i++;
                        temp_j=0;
                }
                temp[temp_i][temp_j++]=A[i];
        }
 
        for (int i=0; i<5; i++) {
        for (int j=0; j<4; j++){
        cout << temp[i][j] << ' ';
        }
        cout << '\0' << endl;
        }
        cout << endl;
   
   for (int i=0; i<5; i++){
        //for (int j=0; j<16; j++){
    if (!strcmp (temp[i],C[0])) count_0 = ++count_0;   
    else if (!strcmp (temp[i],C[1])) count_1 = ++count_1;  
    else if (!strcmp (temp[i],C[2])) count_2 = ++count_2;  
    else if (!strcmp (temp[i],C[3])) count_3 = ++count_3;  
    else if (!strcmp (temp[i],C[4])) count_4 = ++count_4;  
    else if (!strcmp (temp[i],C[5])) count_5 = ++count_5;  
    else if (!strcmp (temp[i],C[6])) count_6 = ++count_6;  
    else if (!strcmp (temp[i],C[7])) count_7 = ++count_7;  
    else if (!strcmp (temp[i],C[8])) count_8 = ++count_8;  
    else if (!strcmp (temp[i],C[9])) count_9 = ++count_9;
    else if (!strcmp (temp[i],C[10])) count_10 = ++count_10;
    else if (!strcmp (temp[i],C[11])) count_11 = ++count_11;
    else if (!strcmp (temp[i],C[12])) count_12 = ++count_12;
    else if (!strcmp (temp[i],C[13])) count_13 = ++count_13;
    else if (!strcmp (temp[i],C[14])) count_14 = ++count_14;
    else if (!strcmp (temp[i],C[15])) count_15 = ++count_15;
    //}
    }
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 0 = " <<count_0 << " " << endl;
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 1 = " <<count_1 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 2 = " <<count_2 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 3 = " <<count_3 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 4 = " <<count_4 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 5 = " <<count_5 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 6 = " <<count_6 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 7 = " <<count_7 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 8 = " <<count_8 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 9 = " <<count_9 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 10 = " <<count_10 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 11 = " <<count_11 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 12 = " <<count_12 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 13 = " <<count_13 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 14 = " <<count_14 << " " << endl; 
    cout <<"Г‚ Г¬Г*Г±Г±ГЁГўГҐ ýëåìåГ*òîâ Г°Г*ГўГ*ûõ 15 = " <<count_15 << " " << endl; 
    
    getch ();
    return 0;
}
Добавлено через 2 часа 6 минут
Разбить на тетрады вроде получается, а вот сравнить с шаблонами нет. Я так понимаю, что когда я разбиваю на тетрады получаются строки вида {'0','1','0','1'} , а сравниваю я со строкой вида {"0101"}. Поэтому и не работает наверное! Как, при разбивки на тетрады в конце каждой четверки добавить элемент '\0'. Чтобы сравнение с строкой {"0101"} было корректным.

Хотя может я и не прав (у меня опыта на С++ ооочень мало).
 
Текущее время: 08:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru