Все еще пишу программу для поиска слов - C (СИ)

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

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

Нужно найти слова состоящие только из I V X L C D M Z. Ниже программа и ошибки.
#include "stdafx.h"
 
#include <stdio.h>
#include <string.h>
 
char * findchar(char *s, char c) //функция для поиска пробела
{
    while (*s && *s != c)
        ++s;
    return s;
}
 
void main()
{
    char s[80] ;
    int i = 0, count = 0, flag = 0,c;
 
    printf("Введите: ");
    scanf("%s", s);
    c = 0;
    while s != EOF; {  //ошибка 1
        while (c < strlen(s)) {  //цикл от 0 до конца вводимой строки
            if (s[c] == ' ') { c = c + 1; } //если пробел, то переходим на след. символ
            if (s[c] != ' ') {
                while s[c] != ' ';  //ошибка2
                {if (s[c] == 'i') ||
                    (s[c] == 'v') ||
                    (s[c] == 'x') ||
                    (s[c] == 'l') ||
                    (s[c] == 'c') ||
                    (s[c] == 'd') ||
                    (s[c] == 'm') ||
                    (s[c] == 'z')
                {
                    c++; flag = 1;
                }
                else { flag = 0; s[c] = findchar(s, '0'); //поиск следующего пробела Ошибка3 и 4
                      }
                if (flag == 1){ count++; } //если флаг=1, то к общему кол-ву '+1'
 
                }
            }

            }

            printf("d\n", count);
        }
Ошибки-ошибочки: Ошибка 1 error C2061: синтаксическая ошибка: идентификатор "s" Ошибка 2 error C2061: синтаксическая ошибка: идентификатор "s" Ошибка 3 error C2181: недопустимый else без парного if Ошибка 4 error C2440: =: невозможно преобразовать "char *" в "char" Как исправить?

Решение задачи: «Все еще пишу программу для поиска слов»

textual
Листинг программы
s[c] = findchar(s, '0');

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

В данном коде выполняется поиск символа '0' в строке s и сохранение его позиции в переменной c. Список действий:

  1. s - это строка, в которой нужно найти символ '0'.
  2. c - это переменная, которая будет хранить позицию найденного символа.
  3. findchar(s, '0') - это функция, которая ищет первый символ '0' в строке s и возвращает его позицию.
  4. s[c] = findchar(s, '0') - это присваивание, которое сохраняет значение функции findchar в элемент строки s с индексом c. Таким образом, после выполнения данного кода, в переменной s будет содержаться строка, в которой символ '0' заменен на его позицию в строке.

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


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

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

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