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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2011, 13:13   #1
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию Не получается составить массив чисел для массива букв

Код:
#include<stdio.h>
#include<string.h>

int main()
{
	
	char word[100];
	int d[100];
	printf("input the word\n");
	scanf("%s",&word);
	w=strlen(word);
	for(i=0;i<w;i++)
	{
		if(word[i]='а')
			d[i]=1;
		if(word[i]='б')
			d[i]=2;
		if(word[i]='в')
			d[i]=3;
	}
	for(i=0;i<w;i++)
		printf("%d ",d[i]);
	printf("\n");
	
	return 0;
}
При вводе строки "абв", выдает результат: 333,а должен: 123! НЕ могу понять в чём тут дело..

Последний раз редактировалось rpy3uH; 30.11.2011 в 14:05.
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 13:19   #2
mrChester
Я
Форумчанин
 
Аватар для mrChester
 
Регистрация: 24.04.2010
Сообщений: 693
По умолчанию

Код:
if(word[i]=='а')
d[i]=1;
if(word[i]=='б')
d[i]=2;
if(word[i]=='в')
d[i]=3;
== оператор сравнения, а не =
Все персонажи вымышлены, все совпадения случайны.
Если жизнь игра, тогда я её разработчик ©.
mrChester вне форума Ответить с цитированием
Старый 30.11.2011, 13:49   #3
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию

mrChester, спасибо!
Тупанул я))
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 14:02   #4
TheKostarico
Пользователь
 
Регистрация: 22.05.2010
Сообщений: 15
По умолчанию

Теперь выдает d[0]=-858993460,d[1]=-858993460.. и так все((
В чем сейчас проблема?
TheKostarico вне форума Ответить с цитированием
Старый 30.11.2011, 14:47   #5
ProgerWin
 
Аватар для ProgerWin
 
Регистрация: 28.11.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от TheKostarico Посмотреть сообщение
Теперь выдает d[0]=-858993460,d[1]=-858993460.. и так все((
В чем сейчас проблема?
Здесь что-то с русскими буквами не так. Если вместо них вводить английские то все нормально работает. Проверил.
Только в самой программе нужно заменить
Код:
	for (i = 0; i < w; i++)
	{
		if (word[i] == 'a') d[i] = 1;
		if (word[i] == 'б') d[i] = 2;
		if (word[i] == 'в') d[i] = 3;
	}
вот на это
Код:
	for (i = 0; i < w; i++)
	{
		if (word[i] == 'a') d[i] = 1;
		if (word[i] == 'b') d[i] = 2;
		if (word[i] == 'c') d[i] = 3;
	}
ProgerWin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввести массив вещественных чисел NxM для заданной строки массива найти два самых больших числа (на C#) владислав10 Помощь студентам 1 10.04.2011 14:10
составить массив случайных чисел Паскаль lirikoff Помощь студентам 8 08.02.2011 21:20
. Составить программу для вычисления степеней чисел Figushkin Помощь студентам 0 05.06.2010 17:40
Составить программу для n-разрядных чисел LiptonICE Помощь студентам 18 06.05.2010 09:08
ассемблер: "Составить программу умножающую каждый элемент массива из 15 чисел на на 5. Naruto63 Помощь студентам 4 19.10.2009 13:37