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

Символьные массивы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переписать код без использования указателей http://www.cyberforum.ru/cpp-beginners/thread690206.html
Как эту функцию можно записать используя указателей? char* ptr1=text; char* ptr2; sLen=strlen(str1); while(ptr1){ ptr2=ptr1; ptr1=strstr(ptr1+sLen, str1); } if (ptr2==text){cout<<"neznaydeno";} else{ strcpy(sBuf, ptr2 + strlen(str1));
C++ Обьясните условие задачи Обьясните пожалуйста что нужно сделать?? Вычислить значение y в зависимости от выбранной функции от (x), аргумент которой определяется с поставленной условия. Возможные значения функции от (x): 2x, x2, х / 3 (в оконном приложении выбор выполнить с помощью компоненты RadioGroup). Предусмотреть вывод сообщений, показывающие, при которой условия и с какой функцией проводились вычисления у. http://www.cyberforum.ru/cpp-beginners/thread690205.html
C++ Все ли элементы последовательности не равны числу X
Требуется написать программу по данному условию: Задана произвольная последовательность, все ли элементы последовательности не равны числу X. ??? программа без массивов. Есть такой код, он по строению верный, но напутаны буквы, и правильность. Может кто нибудь поправить(восстановить) код, чтобы он работал по условию? Очень надо( int main() { int n, x, a, max; cout <<"x"=; cin >> x,...
Создать линейный список целых чисел. Вычислить количество вхождений заданного числа в очереди C++
Создать линейный список целых чисел. Вычислить количество вхождений заданного числа в очереди
C++ Составить поисковое дерево http://www.cyberforum.ru/cpp-beginners/thread690186.html
Короче программа должна из случайно сформированного массива mas1, составить поисковое дерево(то бишь программа должна сделать так чтобы в верху был наименьший элемент далее с ссылкой на соседние элементы вниз по уровням)вот примерно как на рисунке и надо как то вывести это красиво. чтобы было понятно что это дерево. либо вертикально либо горизонтально(когда самый левый это корень дерева) //...
C++ итераторы вектора #include <tchar.h> #include <iostream> #include <vector> using namespace std; int _tmain(int argc, _TCHAR* argv) { vector <int> a; vector <int>::iterator cur; int itemp; int i; подробнее

Показать сообщение отдельно
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
06.11.2012, 19:55     Символьные массивы
исправленный рабочий код
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
printf("Введите cтрокy\n");
string strmas[100];//это массив в который будут записываться наши слова
int j=-1;//счетчик слов в строке
char str[1000];//наша вводима строка
gets(str);//ну тут понятно строку вводите
for(int i=0;str[i]!='\0';i++)//Цикл работает по принципу если не пробел вводим слово с ячейку 
//массива строк string это тот же "перепрошитый" char, но работает несколько иначе
    if(str[i]!=' '){//встретили пробел начинаем записывать в масив
        j++;//наращиваем счетчик
        while((str[i]!=' ')&&(str[i]!='\0'))//тут так сказать защита от дурака, если между словами более
//1го пробела или пробел стоит в конце строки, т.е. если у нас такая ситуация лишние пробелы пропускаются
             strmas[j]+=str[i++];//присваивается jй ячейке масива строк iй символ нашей строки
//т.е. записываем слово пока не наступит очередной пробел
        i--;//возврат на предыдущее значение (чтобы цикл прошел по всем символам ибо если не
//сделать то при считывании строки типа "ололо ололо" после считывания 1го слова указатель перейдет на символ 'o' а не на пробел, конечно в данном случае и без этого работать будет, но лучше с ним
    }
int i1=0;//тут идет обратный процесс вставки
for(int i=j;i>=0;i--){//начиная с последнего элемента и двигаясь к первому вставляем в нашу строку 
//слова, т.е. меняем местами
    j=0;//счетчик символов в ячейке массива строк
    while(j!=strmas[i].size())//пока счетчик не достиг конца
        str[i1++]=strmas[i][j++];//присваиваем в нашу строку слово из массива
    str[i1++]=' ';//добавляем пробел
}
str[i1]='\0';//помечаем конец строки (ибо длина у нас может измениться если будет введено несколько пробелов между словами или в конце/начале строки
printf("\n%s",str);//выводим строку=)
Добавлено через 4 минуты
Tiva,
Цитата Сообщение от ozzy_b Посмотреть сообщение
Как ето сделать с помощю самых прымытывних команд(типа scanf или gets...) и циклов?
cin cout Это уже ООП
да и если честно не совсем понимаю что делает ваша функция
 
Текущее время: 12:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru