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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
#1

Строки - C++

10.03.2011, 23:25. Просмотров 342. Ответов 4
Метки нет (Все метки)

Добрый вечер.

Исходные данные
В первой строке находится единственное число N, 1 ≤ N ≤ 100 — количество тестов. В каждой из последующих N строк содержится очередной тест: два символа (маленькая латинская буква от 'a' до 'h' и цифра от 1 до 8)

Пример
исходные данные результат
3 2
a1 8
d4 6
g6

Вопрос. Как можно разнести входные данные в разные переменные? к пример x='a', а y=1.
Делаю так, но Visual Studio начиная со второго ввода выдает неверные данные.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void main()
{   
    int N,k;                                 
    char c;                                 
    scanf("%d",&N);                 
    for (int i=0;i<N;i++)                   
    {                                       
        scanf ("%c%d",&c,&k);
    
        printf("%c",c);
        printf("%d\n",k);
    }
    
    
    
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2011, 23:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Строки (C++):

Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки - C++
Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки. 1. Я дуб дубом,даже...

Добавить строки, начиная со строки К1 и до строки К2, в динамический массив строк - C++
Есть динамический массив строк. Заполняется, т.е. размер его уже известен будет. Но дальше нужно сделать задание: &quot;Добавить строки, начиная...

Удалить строки динамической матрицы, начиная со строки К1 и до строки К2 - C++
Сформировать динамический двумерный массив, заполнить его случайными числами и удалить строки, начиная со строки К1 и до строки К2 вот...

Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней - C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка...

Функция перезаписывает символы строки заданным количеством символов другой строки - C++
Программа работает. Но не совсем правильно. В конечной строке появляются непонятные символы, которых быть там не должно. В программе нельзя...

Чтение через fscanf_s части строки с пробелом (и запись этой же строки) - C++
нужно записать в файл строку, содержащую через табуляцию int, char, char, char, float, int. Далее необходимо из такой же строки вывести...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
10.03.2011, 23:57 #2
Короч scanf("%c",...) не пропускает пробельные символы. В вашем случае лечится например так:
C++
1
scanf ("\n%c%d",&c,&k);
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
11.03.2011, 00:01  [ТС] #3
нет ты не понял там не должно быть пробельных символов. вот смотри допустим ввожу d4 нажимаю ввод,и хочу что бы d пошло в переменную с типом char, а 4 в переменную с типом int.
Хохол
Эксперт C++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
11.03.2011, 00:03 #4
Нет ты не понял, пробельный символ != ' '.
Пробельные символы - это ' ', '\t', '\n' и другие.
У тебя scanf("%c") при первом же вызове читает '\n', находящийся после числа на первой строке, после чего начинается вакханалия.
Dangelo
7 / 7 / 1
Регистрация: 28.11.2010
Сообщений: 57
11.03.2011, 00:11  [ТС] #5
ммм заработало, спасибо большое
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2011, 00:11
Привет! Вот еще темы с ответами:

Упорядочить символы строки B в алфавитном порядке и удалить латинские буквы из строки A - C++
&quot;Даны строки A и B. Если в A есть латинские буквы, а в B нет повторяющихся символов, то упорядочить символы B в алфавитном порядке и...

Прибавить ко всем элементам каждой строки максимальное значение этой строки - C++
добрый вечер! Помогите пожалуйста доработать код! Изменить текущий массив, прибавив ко всем элементам каждой строки максимальное...

Вычислить длину введенной строки и вывести символы строки с четными индексами - C++
Напишите программу, которая требует ввода строки с клавиатуры. Программа вычисляет длину строки и выводит на экран только те символы...

Как считать строки из файла, если там больше одной строки? - C++
Как считать строки из файла в массив. Если в файле одна строка, то нет проблем, но если несколько, то при использовании функции fgets ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.03.2011, 00:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru