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

string и функции - C++

Восстановить пароль Регистрация
 
ilya9339
Сообщений: n/a
17.06.2011, 20:00     string и функции #1
Хотел написать программу, вводишь одно из трех слов, программка сравнивает его с тем что уже хранится в памяти и выводит ответ. но застопорился на этапе return в функции Memory, программа выдает ошибку.
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
#pragma hdrstop
#include <math.h>
#include <conio.h>
#include <iostream.h>
#include <stdio.h>
#include <string.h>
//---------------------------------------------------------------------------
#pragma argsused
 
string View (int vw) {
        string w;
        if (vw==0) {
                w="1";
                return(w);
                }
        if (vw==1) {
                w="2!";
                return(w);
                }
        if (vw==2) {
                w="3";
                return(w);
                }
        return(w);
        }
 
string Memory (string anlz) {
        string aStr[2];
        aStr[0]="f";
        aStr[1]="n";
        aStr[2]="l";
        for (int i=0;i<2;i++)  {
                if(aStr[i]==anlz) {
                         anlz=View(i);
                         break;
                        }
                }
        getch();
        return(anlz);
        }
 
int main () {
        string word,m;
        cin>>word;
        m=Memory(word);
        cout<<m;
        getch();
        return(0);
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Daemon025
 Аватар для Daemon025
380 / 329 / 67
Регистрация: 06.12.2010
Сообщений: 900
17.06.2011, 20:15     string и функции #2
в с++ строки сравнивают с strcmp()
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.06.2011, 20:32     string и функции #3
Тут STL'овский string, для него перегружен оператор ==
А вручную сравнение делается намного проще, могу скинуть функцию.
Код не очень понятен

Добавлено через 7 минут
Вот, лексикографическое сравнение.
C++
1
2
3
4
5
6
7
8
9
short comp(std::string a, std::string b){
    if (a.size() < b.size()) return -1;
    if (a.size() > b.size()) return 1;
    for (unsigned i=0; i < a.size(); i++){
        if (a[i]<b[i]) return -1;
        if (a[i]>b[i]) return 1;
    }
    return 0;
}
Возвращает 1, если больше первое, -1, если второе и 0 если равны
ilya9339
Сообщений: n/a
17.06.2011, 20:46     string и функции #4
Благодарствую. Попробую пременить.
Yandex
Объявления
17.06.2011, 20:46     string и функции
Ответ Создать тему
Опции темы

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