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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2020, 15:55   #1
apollon33
Пользователь
 
Регистрация: 18.09.2018
Сообщений: 14
По умолчанию ФУНКЦИИ И СТРОКИ, найти ошибку

Нужно написать программу с функцией, вычисляющей адрес первого символа строки, совпадающего с указанным символом. Если символ не найдется – результат NULL.
Подскажите, пожалуйста, в чем ошибка, и как её исправить?

Код:
using namespace std; 
#include <stdio.h>
#include<iostream>
 
bool exidna(const char* p, char c)
{
    int i;
    for (i=0; p[i] !=0; i++)
        if ( p[i] == c)
            return true;
    return NULL;
}
 
int main(void)
{
    setlocale(0, "");
    char str[41], simvol; //объявили данные
    bool n; //переменная для результата функции
    // ввод исходных данных
    cout << "\nВведите строку:";
    cin.getline(str, 41);
    cout << "Введите символ: ";
    cin >> simvol;
    n = exidna(str, simvol); //вызов функции
    if (n == true) //анализ результата функции
    {
        cout << &n << endl;
    }
else
cout << "Символ в строке не найден\n";
system("pause");
return 0;
}
apollon33 вне форума Ответить с цитированием
Старый 01.12.2020, 00:17   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Что не так, какая ошибка?
Если ошибка только в компоновке, уберите из кода:
Код:
system("pause");
или добавте:
Код:
#include <windows.h>
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Старый 01.12.2020, 02:23   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Сами же пишете, что нужен адрес символа, а функция почему-то возвращает bool. Затем печатаете адрес переменной n зачем-то...
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 01.12.2020, 13:38   #4
apollon33
Пользователь
 
Регистрация: 18.09.2018
Сообщений: 14
По умолчанию

BDA,
Я только начинаю учиться, поэтому я просто не понимаю, как именно нужно вывести адрес...
apollon33 вне форума Ответить с цитированием
Старый 01.12.2020, 14:43   #5
FrosyaZZ
Форумчанин
 
Регистрация: 16.11.2020
Сообщений: 243
По умолчанию

Причем тут "вывести"?
Цитата:
Сообщение от apollon33 Посмотреть сообщение
с функцией, вычисляющей адрес
Код:
 if ( p[i] == c)
            return true;
true - это адрес?
FrosyaZZ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки (найти ошибку) limaxY Общие вопросы C/C++ 8 05.01.2011 04:55
Как найти ошибку(строки) Nafanja20 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 21.05.2010 21:42
Строки. Помогите найти ошибку. 5nizza77 Помощь студентам 1 16.10.2009 16:10