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

Оператор if и указатель на цикл (ввод цифр и преобразование в буквы) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Чтение и ввод в какоенибудь консольное приложение http://www.cyberforum.ru/cpp-beginners/thread782875.html
Вот допустим есть какая нибудь программа назавем её программа а, и моя программа - программа б. Программа б вводит в программу а значения, "нажимает ентер" и читает результат выданой программой а. Как это делается?
C++ Реализоваить систему отдела кадров предприятия Система отдела кадров предприятия содержит следующие сведения о работниках: -фамилия и инициалы работника; -название занимаемой должности; -год поступления на работу. Написать программу, которая выполняет следующие действия: -вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту; -выводит на дисплей фамилии работников, чей стаж работы в... http://www.cyberforum.ru/cpp-beginners/thread782861.html
Условие цикла if, неправильная работа if C++
cin.getline(str1,N); //getline-запись данных в строку str1,размерность N; cout<<"Enter second string -> "<<endl; cin.getline(str2,N); cout<<"enter m-> "<<endl; cin>>m; if (m==0) { cout<<"ZERO"<<endl; } else if(m<strlen(str1))
Проверки различных условий C++
char str1,str2,str3; // объявление массивов; unsigned int m; //объявление перменной ,после которой будет вставлена подстрока; cout<<"Enter first string -> "<<endl; //поток вывода данных; cin.getline(str1,N); //getline-запись данных в строку str1,размерность N; cout<<"Enter second string -> "<<endl; cin.getline(str2,N); ...
C++ Странное поведение кода http://www.cyberforum.ru/cpp-beginners/thread782850.html
int x; cout << (x = 1) + (x = 2) + (x = 3); У меня выводит 7 (вместо 6). Почему?!?!
C++ динамический массив Доброго всем времени суток.Помогите чайнику разобраться.Разбираюсь с массивами и столкнулся с не понятным,вот мой код: #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() подробнее

Показать сообщение отдельно
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
10.02.2013, 23:19  [ТС]     Оператор if и указатель на цикл (ввод цифр и преобразование в буквы)
Проблемы с выводом последующих строк.

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
#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
 
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    const int n(4);
    const int m(5);
     const int num=1;
    //num - кол-во проходов алгоритма
 
    int arr[num][n][m],b,i,j,k,z;
    
    //curr - количество выполненных проходов
    int curr = 0;
    for(k=0; k < num; k++)
    {
        cout<<"Go Go?";
        cin>>z;
        if(z==4)
        {
            curr++;
            cout << "Enter " << m << " space separated values for each row" << endl;
            for (  i = 0; i < n; ++i )
            {
                cout << "Row #" << ( i + 1 ) << ": ";
                for (j = 0; j < m; ++j )
                {
                    cin >> arr[k][i][j];
                    b=arr[k][i][j];
 
                    
                    switch(b)
                    {
                        case 0: {arr[k][i][j] = 'a'; break;}
                        case 1: {arr[k][i][j] = 'b'; break;}
                        case 2: {arr[k][i][j] = 'c'; break;}
                        default: {cout<<"Wrong number input."<<endl; return(0);}
                    }
                }
            }
        }
        
    }
 //Счетчик "c"
    int c_counter = 0;
    //Переменная, разрешающая печать строки
    bool legit = true;
    for(k=0;k<curr;k++)
    {
        for ( int i = 0; i < n; ++i )
        {
            for ( int j = 1; j < m; ++j )
            {
            
                if(arr[k][i][0]=='a' && arr[k][i][1]=='c')
                {
                    if(j!=0 && arr[k][i][j] == 'a' && arr[k][i][j-1] == 'a') legit = false;//Если после символа а есть еще одни симол а
                    else
                     if(arr[k][i][j] == 'c')    c_counter++;
                    if(c_counter > 2)               legit = false; //Если болье 2х c
                }
                else legit = false; //Если начинается не на ac
                
            }
            
            if(legit) for(int j=0; j<m; ++j) cout << (char)arr[k][i][j] << ( j < m - 1 ? "" : "\n" );
            else cout << "String is not legit" << endl;
        }
    }
 
    system("pause");
}
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
Go Go?4
Enter 5 space separated values for each row
Row #1: 0
2
1
1
1
Row #2: 0
2
1
1
1
Row #3: 0
2
1
1
1
Row #4: 0
2
1
1
1
acbbb
acbbb
String is not legit
String is not legit
Для продолжения нажмите любую клавишу . . .
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru