Чтобы программа хоть что-то выдавала, то должна выглядеть так:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i,j,n,k1,k0,k2;
string s;
cin >> n;
for (i=0;i < n;i++)
{
cin >> s;
for (k0=k1=k2=j=0;j < s.size();j++)
{
if (s[j]=='0') k0++;
if (s[j]=='1') k1++;
if (s[j]=='2') k2++;
}
if (k0 == k1 && k1 == k2) cout << "YES" << endl,system("PAUSE >> void");
if (k0 != k1 || k1 != k2 || k0 != k2) cout << "NO" << endl,system("PAUSE >> void");
}
}
Но чтобы работала согласно условию задачи, то должно быть так:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int i,j,n,k1,k0,k2;
string s;
cout << "n="; cin >> n;
for (i=0;i < n;i++)
{
cout << "string" << i+1 << ": "; cin >> s;
for (k0=k1=k2=j=0;j < s.size();j++) if (s[j]=='0') k0++; else break;
for (;j < s.size();j++) if (s[j]=='1') k1++; else break;
for (;j < s.size();j++) if (s[j]=='2') k2++; else break;
if (!(k0^k1||k1^k2)&&j==s.size()) cout << "YES" << endl; else cout << "NO" << endl;
}
}
Другие языки программирования и технологии
Задача на С++.Вложенные циклы for и работа со строками.
> 120, 112200 - ответы неправильные
условие "При этом любой ноль находится ближе к началу слова, чем любая единица" не выполняется.
условие "При этом любой ноль находится ближе к началу слова, чем любая единица" не выполняется.
ты не обнуляешь переменные-счетчики k0,k1,k2. после обработки каждого слова, т. е. в конце тела цикла по i
ну и потом, у тебя нет проверки на то, чтоб сначала шли 0 и 1 а потом 2
Тупейший вариант такой проверки, который пришел в голову: внутри цикла по i завести переменную - текущий символ. Вначале значение переменной == 0. В цикле по j проверять: если s[j] >= curChar, то curChar = s[j], иначе break и *NO*
ну и потом, у тебя нет проверки на то, чтоб сначала шли 0 и 1 а потом 2
Тупейший вариант такой проверки, который пришел в голову: внутри цикла по i завести переменную - текущий символ. Вначале значение переменной == 0. В цикле по j проверять: если s[j] >= curChar, то curChar = s[j], иначе break и *NO*
Похожие вопросы
- Помогите решить задачу по программированию, пожалуйста. Найти сумму наименьших значений элементов строк. (вложенные циклы)
- Цикл for в Дельфи или Паскале
- *.bat - Не работает set /a внутри цикла for!
- Как начать с определенной комбинации во вложенном цыкле FOR?
- Вопрос про цикл For
- По-человечески объясните цикл "for"
- решите, пожалуйста, задачу на языке с с помощью циклов (for, while, do...while)
- Хорошо ли использовать бесконечный цикл for в C++?
- цикл for не может обрабатывать массивы? (паскаль)
- Си работа со строками. Нужна помощь