Переписать приведенную программу не используя strtok - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите плз написать эту программу не используя strtok
#include "stdafx.h"
#include "stdio.h"
#include "string.h"
 
int main(void)
{
    char str[256], wrd[50];
    int n = 0;
    printf("Enter string: ");
    gets(str);
    printf("Enter word: ");
    gets(wrd);
 
    for(char *p = strtok(str, " "); p; p = strtok(NULL, " "))
        if(strlen(p) == strlen(wrd))
            ++n;
 
    printf("Word: ");
    puts(wrd);
    printf("Count reps: %d", n);
    return 0;
}

Решение задачи: «Переписать приведенную программу не используя strtok»

textual
Листинг программы
#include <iostream>
#include <string>
#include <sstream>
 
int main(){
  std::string str, wrd;
  int n = 0;
  std::cout << "Enter string: ";
  getline(std::cin, str);
  std::cout << "Enter word: ";
  std::cin >> wrd;
 
  std::istringstream ist(str);
  while( ist >> str )
    if(str.length() == wrd.length()) ++n;
 
  std::cout << "Word: ";
  std::cout << wrd;
  std::cout << " Count reps: " << n;
  return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: iostream, string, sstream
  2. Объявление переменных:
    • str (строка) - для хранения введенной строки
    • wrd (строка) - для хранения слова, длина которого будет проверяться
    • n (целое число) - для подсчета количества повторений слова
  3. Вывод сообщения с просьбой ввести строку
  4. Считывание строки с помощью функции getline
  5. Вывод сообщения с просьбой ввести слово
  6. Считывание слова с помощью функции cin
  7. Создание объекта istringstream из строки str
  8. Запуск цикла while, который будет выполняться до тех пор, пока объект istringstream не прекратит выдавать значения (то есть пока не закончится строка)
  9. Внутри цикла проверка длины текущего слова и увеличение счетчика n, если слова совпадают по длине
  10. Вывод слова, которое искали, и количество его повторений

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы