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

Посчитать число имени - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Yara
0 / 0 / 0
Регистрация: 21.05.2010
Сообщений: 3
21.05.2010, 22:05     Посчитать число имени #1
Чтобы определить число имени нужно воспользоваться особой таблицей, в которой каждая буква имеет свое числовое обозначение:

1 2 3 4 5 6 7 8 9
А Б В Г Д Е Ё Ж З
И Й К Л М Н О П Р
С Т У Ф Х Ц Ч Ш Щ
Ъ Ы Ь Э Ю Я

Например, ваше имя Олег Иванов:

7 + 4 + 6 + 4+1 + 3+1 + 6 + 7 + 3 = 42,

42 =4 + 2=6

нужно составить такую программу которая бы считала это число.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.05.2010, 15:42     Посчитать число имени #2
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{
    char name[]="yourname";
    int sum=0,i=0;
    while(name[i])sum+=name[i++]-'a'+1;
    cout << sum;
    return 0;
}
для латинских букв, типа так?
omegaman
0 / 0 / 0
Регистрация: 22.05.2010
Сообщений: 3
22.05.2010, 19:00     Посчитать число имени #3
на бейсике это выглядело бы так:

PureBasic
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
Module Module1
 
    Sub Main()
        Dim s As String
        Console.WriteLine("Enter your name:")
        s = Console.ReadLine()
        Dim count As Integer
        If s <> "" Then count = Len(s)
        Dim i, namenumber As Integer
        namenumber = 0
        Dim sym As String
        For i = 1 To count
            sym = Mid(s, i, 1)
           
            If sym = "а" Or sym = "и" Or sym = "с" Or sym = "ъ" Then namenumber += 1
            If sym = "б" Or sym = "й" Or sym = "т" Or sym = "ы" Then namenumber += 2
            If sym = "в" Or sym = "к" Or sym = "у" Or sym = "ь" Then namenumber += 3
            If sym = "г" Or sym = "л" Or sym = "ф" Or sym = "э" Then namenumber += 4
            If sym = "д" Or sym = "м" Or sym = "х" Or sym = "ю" Then namenumber += 5
            If sym = "е" Or sym = "н" Or sym = "ц" Or sym = "я" Then namenumber += 6
            If sym = "ё" Or sym = "о" Or sym = "ч" Then namenumber += 7
            If sym = "ж" Or sym = "п" Or sym = "ш" Then namenumber += 8
            If sym = "з" Or sym = "р" Or sym = "щ" Then namenumber += 9
 
        Next
 
        Dim namenumber2 As Integer
        namenumber2 = 0
        Dim sname, z As String
        sname = CStr(namenumber)
 
        For i = 1 To Len(sname)
            z = Mid(sname, i, 1)
            namenumber2 += CInt(z)
        Next
 
        Console.WriteLine("Число вашего имени:" & namenumber2)
 
        Console.ReadLine()
    End Sub
 
End Module


Самые главные функции здесь Len - возвращает длину строки, Mid - встаёт на нужный символ в строке. Как называются в С++ подобные им функции?
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
23.05.2010, 01:58     Посчитать число имени #4
C++
1
2
3
4
5
6
#include <string>
// функция, возвращающая длину строки strlen
char *str="some string";
int i=strlen(str); // в i теперь длина строки str
//доступ к элементам, такой же, как эсли бы это был массив
printf("%c",str[4]); // вывесли на экран четвертый элемент (нумеруются начиная с нуля)
а вобще лучше вот тут обо всем почитай.
Yandex
Объявления
23.05.2010, 01:58     Посчитать число имени
Ответ Создать тему
Опции темы

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