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

Подсчёт первого слова в строке и задача на перестановку - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А http://www.cyberforum.ru/cpp-beginners/thread693469.html
Дана матрица А= 4.8, 3.2, 9.1, 5 5.1, 6, 1.4, -1 4.3, 1.15, 2.8, 3.14 в которой m=3 n=4. Необходимо сформировать массив С из элементов четных столбцов и массив В из элементов нечетных строк массива А. Я сделал так: int z=0; double c = {{ 4.8, 3.2, 9.1, 5}, {5.1, 6, 1.4, -1}, {4.3, 1.15, 2.8, 3.14}};
C++ Среднее значение цифр данного числа Здравствуйте. Не могу понять как доделать задачу. Дана задача. Введите целое число. Посчитать среднее значение цифр данного числа. Например 23456, ответ 4. Вот что я нарешал.#include <stdio.h> #include<conio.h> void main () { long n,s=0; printf ("\nn="); fflush (stdin); scanf ("%ld",&n); http://www.cyberforum.ru/cpp-beginners/thread693453.html
C++ Qt Нарисовать точку в определенных координатах
qt нарисовать точку в определенных координатах.
Работа со строками: выводит все слова, с четным количеством букв C++
Требуется помощь в написании следующей программы: С клавиатуры вводится текстовая строка. Составить программу, которая: подсчитывает количество разделительных знаков в тексте выводит все слова, которые имеют парное количество букв меняет местами первую и последнюю букву каждого слова
C++ Замена слов в string http://www.cyberforum.ru/cpp-beginners/thread693436.html
Подскажите в чём проблема. В строке нужно искать слова длиной >10 символов и менять их на другое слово. Смысл понятен , не получается правильно выполнить. Привожу код: void replaceStr (string &Str) { string sVau="V"; char chars = "абвгдежзиклмнопрстуфхцчшщьъыэюяАБВГДЕЖЗИКЛМНОПРСТУФХЦЧШЩЬЪЫЭЮЯabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890"; int i; int len=0;
C++ Сортировка (исправить код) Помогите с сортировкой! Нужно сортировать исходные данные по убыванию!! Простой массив сортировать могу, а тут никак не получается) Сортировать по значению k #include <iostream> #include <iomanip.h> using namespace std; const int size=3; const int n=3; struct list { char name; int bal; подробнее

Показать сообщение отдельно
asidorchenko
379 / 205 / 25
Регистрация: 09.04.2012
Сообщений: 635
10.11.2012, 11:01     Подсчёт первого слова в строке и задача на перестановку
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
#include <iostream>
#include <string>
 
using namespace std; 
int main(){ 
setlocale(0,"");
        int i=0;
 
        char s[1024] = {' '},*w,*a,*k;
        cin.get(s, 1024);
        a=strtok(s, " "); // получение первого токена
        if (a)
        {
         k = a; 
         i++;
 
// проблема в том, что произошел один вызов функции strtok
// поэтому повторный вызов с w не работает
//      for(w = strtok(s, " \n\t"); w != NULL; w = strtok(NULL, " \n\t")) if (w == a) i++;
 
         for(a = strtok(NULL, " \n\t"); a; a = strtok(NULL, " \n\t")) 
         {          
          if (strcmp(a,k) == 0) 
           i++;
         }
        } 
 
        cout <<"Слово "<<k<<" повторяется "<<i<<" раз";
        cin.get();
        cin.get();
        return 0;
}
char * strtok ( char * str, const char * delimiters );
Функция разбивает str на токены, которые представляют из себя последовательность символов, разделенных любым из символов-разделителей (delimiters).

При первом вызове функция ожидает строку C в качестве аргумента для str, первый символ который используется в качестве начальной позиции для поиска токенов. При последующих вызовах функция ожидает нулевой указатель и использует позицию сразу после завершения последнего токена в качестве новой начальной позиции для поиска.

Для определения начала и конца токена, функция сначала определяет начальную позицию, становящуюся началом токена) первого символа, который не является разделителем, содержащимся в delimiters. Затем поиск начинается с начала токена до первого вхождения символа, входящего в состав delimiters, который становится окончанием токена.

Окончание токена автоматически замещается функцией нулевым символом, и функция возвращает начало токена.

Как только завершающий нулевой символ был найден при вызове strtok, все последующие вызовы функции с нулевым указателем в качестве первого аргумента возвращает нулевой указатель

Позиция, где был найден последний токен сохраняется внутри функции для использовании при следующем вызове.

параметры:
str - строка. Если указывается нулевой указатель, то функция продолжает поиск с того места, где закончился предыдущий успешный вызов
delimiters - разделители

Добавлено через 10 минут
Во второй задаче проблема в том, что программа ожидает ввода 10 символов, и когда она их получает часть из них записывается в str.

tuchkafivet -11 символов, t записывается в str
 
Текущее время: 16:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru