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

Строки... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ error C2337 http://www.cyberforum.ru/cpp-beginners/thread258533.html
1>c:\documents and settings\er\мои документы\visual studio 2008\projects\project11\project11\project111.cpp(19) : error C2337: len: атрибут не найден 1>c:\documents and settings\er\мои документы\visual studio 2008\projects\project11\project11\project111.cpp(19) : error C2143: синтаксическая ошибка: отсутствие "]" перед "+" 1>c:\documents and settings\er\мои документы\visual studio...
C++ В строке между словами вставить символ / В строке между словами вставить символ /. Выполнить через команды на DOS 3.1 Добавлено через 1 час 50 минут пожалуйста. Добавлено через 5 минут !!!!!!!!!!!!!!!!!!! http://www.cyberforum.ru/cpp-beginners/thread258529.html
C++ напечатать прог
нужно напечатать прогу выводящую на экран количество четырехбуквенных слов состоящих из разных букв
C++ матрицы
№1 Даны целые полложительные числа M,N, число D и набор из M чисел. Сформировать матрицу M*N, у которой первый столбец совпадает с исходным набором чисел, а элементы каждого следующего столбца и числа D (в результате каждая строка матрицы будет содержать элементы арифметической прогрессии). №2 Дана квадратная матрица А порядка Мю Повернуть ее на угол 90град. в положительном направлении, то...
C++ Найти сумму и произведение элементов k-го столбца данной матрицы http://www.cyberforum.ru/cpp-beginners/thread258508.html
Дано число k (0 < k < 11) и матрица размера 4 x 10. Найти сумму и произведение элементов k-го столбца данной матрицы. Спасибо заранее.
C++ 2 Программы. На "целые числа и системы счисления" и на "метод деления отрезка пополам" 1)Дано натурально число n. Среди чисел 1, ... ,n найти все такие, запись которых совпадает с последними цифрами их квадрата ( как, например, 6^2=36,25^2=625 и т.д. ) 2)Методом деления отрезка пополам найти приближенное значение корня уравнения ( в скобках указан отрезок, содержащий корень ) x^3=0.2x^2-0.2x-1.2=0; Метод деления отрезка попалам реализуется следующим алгоритмом (F(x)... подробнее

Показать сообщение отдельно
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
16.03.2011, 18:05     Строки...
Функция int isAlfa (char s) получает символ и определяет, является ли он символом латиницы или кириллицы(строчным или прописным)
Функция char* strAlfa(char* str, int& lenAlfa) получает строку str и ищет первую буквенную подстроку. Функция возвращает адрес найденной подстроки и ее длину или NULL, если в строке нет буквенной подстроки символов.
Функция void qaz(char* str, int n) получает строку str и преобразует ее, переставляя в обратном порядке n первых символов.
Функция char* qazN(char* str, int n) получает строку str и число n и преобразует в строке каждую n–ую буквенную подстроку, переставляя буквы в ней в обратном порядке. Используйте при разработке алгоритма функции функции strAlfa, qaz.

Программа со стандартного устройства ввода считывает число n и фразу, состоящую из N слов (точное количество слов во фразе задает пользователь заранее). Программа изменяет каждое слово фразы с помощью функции qazN и выводит на экран только измененные слова исходной фразы. Программа подсчитывает количество не преобразованных слов в исходной фразе.

В ЗАДАЧЕ НЕЛЬЗЯ ИСПОЛЬЗОВАТЬ ВСЕ ОПЕРАЦИИ ИЗ БИБЛИОТЕКИ string.h КРОМЕ strlen
Я написал задачу, и она выполняет всё правильно, за что отдельное спасибо форумчанину Ma3a, но я не знаю как вывести только ПРЕОБРАЗОВАННЫЕ слова и как подсчитать количество НЕПРЕОБРАЗОВАННЫХ слов =(
Помогите пожалуйста!!!
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
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;
int isAlfa(char );
char *gazN(char * , int );
char *strAlfa(char * , int& );
void gaz(char * , int );
void main (void)
{
        setlocale(LC_ALL,"rus");
        char str[100];
        int n, len;
        cout << "n = ";
        cin >> n;
        cout << "Введите строку: ";
                cin.sync();
        cin.get(str, sizeof(str));
 
        if(strAlfa(str, len))
                {
                        gaz(str, n); 
                        gazN(str, n);
                        cout << str;
                }       
 
        getch();
}
 
int isAlfa (char s)
{
        if (s>='a' && s<='z' || s>='A' && s<='Z'|| s>='а' && s<='п' || s>='р' && s<='я' || s>='А' && s<='Я')
                return 1;
        return 0;
}
 
char *strAlfa(char *str, int& len)
{
        len=0;
        for ( ; !isAlfa(*str) && *str; str++);
        if (*str==0)
                return 0;
        char *p=str;
        for ( ; isAlfa(*str); str++, len++);
        return p;
}
 
void gaz(char *str, int n)
{
        char p;
        int i, j;
        for (i=0, j=n-1; i<j; i++, j--)
        {
                p=*(str+j);
                *(str+j)=*(str+i);
                *(str+i)=p;
        }
}
 
char *gazN(char *str, int n)
{
        int len;
        char temp;
        char * next_sub_p=str;
        for(int i = 1; (next_sub_p=strAlfa(next_sub_p, len)); i++, next_sub_p+=len)
                if(i%n==0)
                        gaz(next_sub_p, len);
        return next_sub_p;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru