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

ASCII код последного символа в слове - C++

Восстановить пароль Регистрация
 
zewer
 Аватар для zewer
1018 / 709 / 71
Регистрация: 07.01.2011
Сообщений: 5,356
22.04.2012, 01:05     ASCII код последного символа в слове #1
Здраствуйте.

Помогите пжл с примерной реализацией на С++ или просто на словах: как можна получить ASCII код последного символа в слове.

Слово береться з текстового файла data2.txt. Под словом нужно понимать или буквы, например abcdef, или числа, например 12345.

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

Для примера даю содержание текстового документа data2.txt

Petrenko Titanic Crab 3456 Crysis 123 987 Lolpot

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
#include <conio.h>
#include <iostream>
#include <fstream> 
using namespace std;
 
struct List
{
    char ar[100];
};
 int main ()
{
    setlocale (LC_ALL,"Ukrainian");
    List *l;
    int h,i=0;
    int key = 0;
    int p = 3;
    int tmp=0;
    int m = 37;
    char *ar[37];
    l = new List [100];
    for (int j=0;j<37;j++)
    {
        ar[j]=new char[37]; 
        ar[j]="";
    } 
    ifstream in("C:\\data2.txt",ios::in);//открываем файл
    cout << "\t\t\tХеш-таблиця № 1\n"; 
    while(in && !in.eof())//работаем с файлом до тих пор, когда указатель дойдет к концу файла
    {
        cout << "\n\n"; 
        in >> l[i].ar;//копируем первое слово в масив
        cout << "Зчитане слово: " << l[i].ar;
        while ( l[i].ar[key] != NULL )//получаем количество букв или цифр в скопированом слове из data2.txt
            key++;
        cout << "\nСлово (ключ) мiстить " << key << " слiв\n";
}
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
22.04.2012, 01:15     ASCII код последного символа в слове #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
 FILE *f=fopen("test2.txt","r");
 char c1,c2=getc(f);
 while (c2!=EOF)
  {
   c1=c2;
   c2=getc(f);
   if (c2==' '||c2==EOF||c2=='\n') printf("%c %d \n",c1,c1);
  }
 system("pause");
 return 0;
}
zewer
 Аватар для zewer
1018 / 709 / 71
Регистрация: 07.01.2011
Сообщений: 5,356
22.04.2012, 01:23  [ТС]     ASCII код последного символа в слове #3
оперативно, спасибо большое
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.04.2012, 03:38     ASCII код последного символа в слове #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
 
int main() {
    std::ifstream ifs("data2.txt");
    if ( ! ifs.is_open() ) {
        std::cerr << "Can't open input file!" << std::endl;
        return 1;
    }
    
    std::string wrd;
    while ( ifs >> wrd )
        std::cout << "Word: " << wrd << ", last letter: " << *wrd.rbegin() << std::endl;
    
    ifs.close();
    return 0;
}
zewer
 Аватар для zewer
1018 / 709 / 71
Регистрация: 07.01.2011
Сообщений: 5,356
22.04.2012, 17:22  [ТС]     ASCII код последного символа в слове #5
Спасибо, но проблема в том, что нужно не вывести на экран АСКИИ код посл буквы, а сохранять его как переменную, посколько мне потом нужно будет подставлять его в формулу:

h(key) = [10*(ASCII код последного символа в слове)] % m;

я не знаю как его заполучить в переменную

Добавлено через 11 минут
я еще думал, возможно запысывать в другой файл последную букву через спецификатор, и запишет его как АСКИИ код, и потом просто копировать число в переменную, но хз возможно ли так
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.04.2012, 17:36     ASCII код последного символа в слове #6
Цитата Сообщение от zewer Посмотреть сообщение
я не знаю как его заполучить в переменную
В С++ это примерно так выглядит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <string>
 
int main() {
    std::string word;
    int code;
    
    while ( std::cout << "Word: " && std::cin >> word && ! word.empty() ) {
        code = static_cast<int>(*word.rbegin());
        std::cout << "Letter: " << static_cast<char>(code) << " Code: " << code << std::endl;
    }
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2012, 17:40     ASCII код последного символа в слове
Еще ссылки по теме:

C++ Вывести ascii код символа
Вывод символа из таблицы ASCII C++
Ascii код символа при дешифровании на еденицу меньше чем должен быть C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
zewer
 Аватар для zewer
1018 / 709 / 71
Регистрация: 07.01.2011
Сообщений: 5,356
22.04.2012, 17:40  [ТС]     ASCII код последного символа в слове #7
спасибо, щас попробую потестить

Добавлено через 1 минуту
вроде то, щас посмотрим как оно будет работать в нашем проекте)))
пока благодарю
Yandex
Объявления
22.04.2012, 17:40     ASCII код последного символа в слове
Ответ Создать тему
Опции темы

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