Поиск k-й цифры в строке

Уровень сложности:

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

Если вы ещё не сообразили, как решить данную задачу, прочитайте статью — строки в С++ и вы все поймете. Конечно же, вы уже должны уметь работать с массивами. Пример работы программы:

#include <iostream>
#include <cstring> // для функции strlen
using namespace std;

int main()
{
    char string[100]; //символьный массив, для хранения введённой последовательности цифер
    cout << "Введите последовательность цифер: ";
    cin >> string;

    int k; // переменная целого типа, для хранения порядкового номера цифры
    cout << "nВведите порядковый номер цифры: ";
    cin >> k;
    // проверка порядкового номера
    if ((k - 1) < 0 || k > strlen(string)) // если введённый пользователем порядковый номер выходит за пределы действительных порядковых номеров
        cout << "nНекорректный ввод порядкового номера" << endl << endl; // напечатать соответствующее сообщение
    else
    cout << "nk-я цифра последовательности: " << string[k -1] << endl; // вывод к-й цифры последовательности
    return 0;
}

Вывод программы:


Следующие статьи помогут вам в решении данной задачи:
Автор: admin
Дата: 12.09.2012
Поделиться:

Комментарии

  1. odto11

    odto11

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main()
    {
        int n = 0;
        cout << "\t\tПоиск k-й цифры в строке\n";
    
        char stNum[128];
        cout << "Введите последовательность цифр: ";
        cin >> stNum;
    
        unsigned short int iNumber = 0;
        cout << "Введите порядковый номер цифры: ";
        cin >> iNumber;
    
        if((iNumber != 0) && (strlen(stNum) >= iNumber))
        {
            cout << "k-я цифра последовательности: " << stNum[iNumber-1] << endl;
        } else
        {
            cout << "Ваш порядковй номер цифры - некорректен!";
        }
    
        return 0;
    }
  2. fishb0ne

    #include <iostream>
    #include <cstring>
    using namespace std;
    
    int main()
    {
        char mas[30];
        int num;
        cout<<"Введите последовательность цифр: ";
        cin>>mas;
        do
        {
            cout<<"\nВведите порядковый номер цифры: ";
            cin>>num;
        } while ((num > strlen(mas)) || (num <= 0) );
        cout<<"\n" << num << "-я цифра последовательности: " << mas[num - 1];
        return 0;
    }
  3. colt

    #include "stdafx.h"
    #include "iostream"
    #include "windows.h"
    #include <string>
    
    
    
    using namespace std;
    
    string sInput;
    int iNumber;
    
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {	
    	SetConsoleCP(1251);
    	SetConsoleOutputCP(1251);
    
    	while(true)
    	{
    		sInput="";
    		system("CLS");
    		cout<<"Введите последовательность цифер: ";
    		getline(cin,sInput);
    		cout<<"Введите порядковый номер цифры: ";
    		cin>>iNumber;
    		cin.ignore();
    		if ((iNumber>sInput.length())||(iNumber<=0)) cout<<"Друже, не выходи за рамки дозволенного\n";
    		else cout<<iNumber<<"-ая цифра последовательности: "<<sInput[iNumber-1]<<"\n";
    		system("PAUSE");
    	}
    	
    	return 0;
    }

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.