|
|
|
|
|
для: exp
(21.12.2008 в 21:58)
| | ругается вот на эту строчку
namespace std; | |
|
|
|
|
|
|
|
для: WveB
(21.12.2008 в 21:24)
| | похоже на Borland C++BuilderX
попробуйте просто заменить
int main(int argc, char *argv[])
таким
int main()
просто жаловалось на то что эти переменные не разу не использовались
хотя наверное ещё лучше включить в начале файл
#include <stdlib.h>
и раскомментировать в конце
system("PAUSE");
удалив эти два вызова cin.getline(&x, 1); // // лишний cin думаю баг devCpp
cin.getline(&x, 1); // типа getch()
//PS
два cin.getline оказалось и в C++BuilderX так-же как в devCpp
думаю баг Виндовс :)) | |
|
|
|
|
|
|
|
для: exp
(21.12.2008 в 03:43)
| | Ошибки такие :
massiv.CPP(2,16):namespace name expected
massiv.CPP(77,2):Parameter 'argv' is never used
Вот такие вот ошибки | |
|
|
|
|
|
|
|
для: WveB
(21.12.2008 в 01:53)
| | вот такой вариант вроде получше
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char str[512] = "01110001 1110110 0000001110000 0100100101\0";
char x;
int i, group=0, a=0, ln=0, ones[2];
/*
ones[2]- первый элемент длинна группы из ln
второй колличество едениц из a
group - только 0 или 1 или 2
*/
cout << "enter digit:"<< endl;
cout << " 1 new string"<< endl;
cout << " 2 default string:"<< endl;
cout << " '"<< str <<"'"<< endl; // если лениво вводить строку
cout << " 0 exit"<< endl;
cin >> i;
cout << endl;
switch(i) {
case 1:
cout << "(Notice: only ' ', 1, 0 characters)"
<<endl<<"enter string:"<< endl;
cout.flush();
cin.getline(&x, 1); // лишний cin думаю баг devCpp
cin.getline(str,511);
break;
case 2:
break;
default:
i = 0;
}// end of switch
if (i) {
i=0;
for (i=0; (x = str[i]) != 0x00; i++) {
switch (x) {
case '1':
ln++;
a++;
group=2;
break;
case '0':
ln++;
group=2;
break;
default:
if (group>1 && (!ones[0] || ones[0]>ln)) {
ones[0] = ln;
ones[1] = a;
}
group = (group)? 1: 0;
ln = a = 0;
}// end of switch
}// end of while
if (group>1 && (!ones[0] || ones[0]>ln)) {
ones[0] = ln;
ones[1] = a;
} // последнее возможное нахождение
cout <<endl<<"result: "<< ones[1]<< endl;
cout <<"length group = "<< ones[0]<< endl;
cout <<"string = "<< str << endl;
}
// system("PAUSE");
cin.getline(&x, 1); // // лишний cin думаю баг devCpp
cin.getline(&x, 1); // типа getch();
return 0;
} |
какие ошибки выдаёт ? | |
|
|
|
|
|
|
|
для: exp
(21.12.2008 в 00:31)
| | спасибо что не отказал, но на С++ не работает это, надо компилировать ! | |
|
|
|
|
 1.4 Кб |
|
|
для: WveB
(20.12.2008 в 21:31)
| | попробовал тут сделать что-то похожее на C++
и не смог найти как-же при помощи cin получить строку вместе с пробелами :)
вроде всё правильно должно считать с локальной строкой , но почему при вводе новой строки не помещает текст после пробелов?
подскажите есть-ли возможность с помощью cin ввести строку полностью ?
разобрался вроде
здесь есть баг если всего одна группа и ограничения 512
//upd:
прикрепил этот старый код | |
|
|
|
|
|
|
|
для: exp
(20.12.2008 в 21:27)
| | строка идет произвольная, то есть 010110 01101110 110 000 11001
как-то так !
Надо чтоб находилась самая короткая группа и в ней надо посчитать сколько единиц в ней ! | |
|
|
|
|
 14.1 Кб |
|
|
для: WveB
(20.12.2008 в 20:37)
| | Вы компилировали и запускали этот последний код ?
(прикрепил exe-файл)
тогда вы должны понять что я ничего не понял из задачки :)
то что группы цифр разделены пробелом , я понял
но посчитать колличество едениц можно и в такой строке 000 111 00 11
можно в такой 0101 1010 1100 100
поэтому я просто считал подряд-идущие еденицы не обращая внимания на любой другой ввод с консоли,
хотя там и правда нет действий над строкой как над массивом
А в предыдущей задачке оказалось что использовалась ещё и строка введённая с консоли
и та задачка решилась совершенно случайно и самопроизвольно тоже на чистом C,пока я решал свои задачки . Я и не знал , что такое решение могло пригодиться вообще :)
Могу сделать на C используя прогон статической строки в цикле, но опять-же 0000 111 или 0101 110 ?
и OOP пока не трогаю , потомучто не знаю | |
|
|
|
|
|
|
|
для: exp
(20.12.2008 в 20:08)
| | проще говоря ты не знаешь как это сделать ?
Как же ты тогда предъидущюю задачу сделал, которую M@M@ZOGLO не мог сделать ? | |
|
|
|
|
|
|
|
для: WveB
(20.12.2008 в 19:31)
| | Я и сам только только начал пытаться понять ;) вот из книги
C++ - универсальный язык программирования, задуманный так, чтобы сделать программирование более приятным для серьезного программиста. За исключением второстепенных деталей C++ является надмножеством языка программирования C. Помимо возможностей, которые дает C, C++ предоставляет гибкие и эффективные средства определения новых типов.
И далее там что-то о классах и структурах и ... OOP вобщем , пока лично заметил только отличия в синтаксисе написания struct в С и struct в С++, компилятор C не понимал то что для C++.
И много примеров на английском , с использованием классов для упрощения работы со строкой , и всяких модулей типа MFC . Вроде обьясняют что как-то разумнее используется памть в этих классах.
Здесь в этой теме сам видишь как я попытался создать два класса , только чтобы попробовать удобнее получать длинну строки.) пока бросил такое желание , ещё многое надо читать, потом буду опять пробовать :)
но то что работает в C должно всётаки работать в C++, другое дело требуется-ли от вас объектно-ориентированный подход к решению задачи | |
|
|
|
|