Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2016, 18:09   #1
YaDelfinchik
Новичок
Джуниор
 
Регистрация: 23.03.2016
Сообщений: 1
По умолчанию С++, преобразование данных

Для программы требуется, чтобы при написании буквы, появлялась ее значение в алфавите, (a=1, б=2, в=3), и при написании например слова привет, появлялись их значения 17'18'10'3'6'20'

Как возможно осуществить такое?
YaDelfinchik вне форума Ответить с цитированием
Старый 23.03.2016, 18:56   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,596
По умолчанию

В цикле по строке для каждого символа определить код по указанному вами алгоритму и вывести его на экран.
Arigato вне форума Ответить с цитированием
Старый 23.03.2016, 22:16   #3
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию

Наработки есть какие нибудь?? Что у тебя не получается??
помог - жми на весы

Последний раз редактировалось Chainik!; 23.03.2016 в 22:27.
Chainik! вне форума Ответить с цитированием
Старый 23.03.2016, 22:53   #4
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию

Цитата:
Сообщение от YaDelfinchik Посмотреть сообщение
Для программы требуется, чтобы при написании буквы, появлялась ее значение в алфавите, (a=1, б=2, в=3), и при написании например слова привет, появлялись их значения 17'18'10'3'6'20'

Как возможно осуществить такое?
Только для маленьких английских букв!

Код:
#include "stdafx.h"
#include "iostream"
#include "conio.h"

using namespace std;

const int n = 85;
//-------------------------------------------------------------
int alf(char s)
{
	int j = 0;
	for(int i = 'a'; i <= 'z'; i++)
	{
		j++;
		if(s == i)
			
			return j;
	}
}
//-------------------------------------------------------------
int _tmain(int argc, _TCHAR* argv[])
{
	setlocale(LC_CTYPE, "Rus");
	char s[n];
	cout << "Введите строку: ";
	gets(s);
	cout << "\nСтрока после форматирования имеет вид: ";
	for(int i = 0; i < strlen(s); i++)
	{
		if(s[i] != ' ')
			cout << alf(s[i]) << "' ";
	}
	getch();
	return 0;
}
помог - жми на весы

Последний раз редактировалось Chainik!; 23.03.2016 в 22:55.
Chainik! вне форума Ответить с цитированием
Старый 23.03.2016, 23:47   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,596
По умолчанию

Нет смысла в цикле прогонять для поиска порядкового номера буквы, его можно вычислять.
Arigato вне форума Ответить с цитированием
Старый 24.03.2016, 00:01   #6
Chainik!
Форумчанин
 
Регистрация: 10.11.2008
Сообщений: 120
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Нет смысла в цикле прогонять для поиска порядкового номера буквы, его можно вычислять.
Можно и так...
помог - жми на весы

Последний раз редактировалось Chainik!; 24.03.2016 в 00:13.
Chainik! вне форума Ответить с цитированием
Старый 24.03.2016, 11:55   #7
wordman
Пользователь
 
Регистрация: 15.03.2016
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Нет смысла в цикле прогонять для поиска порядкового номера буквы, его можно вычислять.
можно, но из примера очевидно, что буквы - кирилица.
Для неё могут возникнуть проблемы, не во всех кодировках порядок соответсвует порядку в алфавите, так что для надёжности я бы всётаки перебирал массив.
wordman вне форума Ответить с цитированием
Старый 24.03.2016, 11:59   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,596
По умолчанию

Тогда надо вогнать алфавит в строку и считать по строке.
Arigato вне форума Ответить с цитированием
Старый 24.03.2016, 12:07   #9
wordman
Пользователь
 
Регистрация: 15.03.2016
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Тогда надо вогнать алфавит в строку и считать по строке.
ну да, я это и имел ввиду.
строка алфавита, перебираешь или ищешь через строковые функции и выдаеш позицию + 1
wordman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование Данных NRG2k Microsoft Office Access 2 23.04.2014 18:08
Преобразование данных в ячейке aleksashka7011 Microsoft Office Excel 2 29.10.2012 09:15
Преобразование данных atenon Microsoft Office Access 8 28.12.2011 16:47
преобразование данных ShamanK Microsoft Office Excel 2 06.09.2010 17:39