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

Работа со строками - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Код Грея http://www.cyberforum.ru/cpp-beginners/thread253313.html
Помогите написать программу Написать программу преобразования прямого двоичного числа в код Грея и программу обратного преобразования (предварительно написав функцию представления десятичного числа в двоичной системе счисления)
C++ Ошибка С2446 Помогите решить проблему над ошибкой С2446.Код: //нажатие клавиши в поле Сумма private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { if ((e->KeyChar >= "0") && (e->KeyChar <= "9")) //цифра return; Пишется: Ошибка 1 error C2446: >=: нет преобразования "const char *" в "int" Что нужно... http://www.cyberforum.ru/cpp-beginners/thread253303.html
C++ функция
всем привет. Вот создал функцию, хотел попробовать в действии char* rander(char* string, int start = 9) { int size = strlen(string); char* newstr; int i = 0; while( i < start ) {
Объединить два кода в один C++
Всё понятно из названия темы... Но если не сложно - объединённый код представить через структуру функций. #include <iostream> #include <conio.h> #define size 10 using namespace std; int main(void) { int arr;
C++ Вычисления n-го члена арифметической прогрессии http://www.cyberforum.ru/cpp-beginners/thread253278.html
Помогите пожалуйста написать программы по рекурсии мне в среду срочно сдать их надо: Написать рекурсивную программу: вычисления n-го члена арифметической прогрессии вычисление суммы n первых членов арифметической прогрессии a1=2 d=4;
C++ Работа с вектором Задание: Вектор В сформировать из целых случайных чисел в диапазоне . а) найти минимальный элемент вектора. б) найти произведение Р ненулевых элементов. в) вставить за min элементом произведение ненулевых элементов. г) найти номер максимального из 10 последних элементов вектора Заранее благодарен... подробнее

Показать сообщение отдельно
z.a.m
49 / 0 / 1
Регистрация: 17.10.2010
Сообщений: 56
07.03.2011, 12:12     Работа со строками
ммм, в общем задание такое:
Функция 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 и выводит на экран только измененные слова исходной фразы. Программа подсчитывает количество не преобразованных слов в исходной фразе.
Если честно чувствую себя тупым, читая это задание...
Препод сказал, что строка вводится без пробелов например abcd123efgh456
Написал вот что :

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
70
71
72
73
74
#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 << "Введите символ: ";
    system("cls");
    cout << "Введите строку: ";
    cin.get(str,sizeof(str));
    char *p=str;
 
    for(int i=1; i<=n; i++)
        p=strAlfa(str, len);
    if(p)
        {
            gaz(str, n); 
            gazN(p, len);
        }   
 
    getch();
}
 
int isALfa (char s)
{
    if (s>='a' && s<='z' || s>='A' && s<='Z'|| 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)
{
    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;
    }
    return str;
}
При построении вылезает ошибка:
ссылка на неразрешенный внешний символ "int __cdecl isAlfa(char)" (?isAlfa@@YAHD@Z) в функции "char * __cdecl strAlfa(char *,int &)" (?strAlfa@@YAPADPADAAH@Z)
И ещё я не знаю как подсчитать количество не преобразованных слов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru