Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 84
1

Программа по поиску числа в последовательности

13.09.2014, 23:47. Просмотров 895. Ответов 7
Метки нет (Все метки)

Начал изучать с, задание написать программу, которая определяет, есть ли в последовательности число введенное с клавиатуры. последовательность находится в текстовом файле. После введения числа программа вылетает. Не могу понять почему.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
int searching (FILE *fin);
int x;
int main ()
{
    char filename[256];
    int result;
    FILE *fin;
    printf("Type file name ->");
    scanf("%s",filename);
    printf("Type the desired number ->");
    scanf("%d",x);
    fin = fopen (filename, "r");
    if (!fin) 
    {
        printf ("Cant open file %s\n", filename);
        return -1;
    }
    result = searching(fin);
    switch(result)
    {
        case 1:
            printf ("The file contains desired number\n");
            break;
        case 0:
            printf ("The file doesn't contain desired number\n");
            break;
        case -1:
            printf ("Not enough data\n");
            break;
    }
    fclose (fin);
    return 0;
    scanf;
}
 
int searching (FILE *fin)
{
    int y;
    if (fscanf(fin,"%lf",&y) != 1)
        return -1;
    while (fscanf(fin,"%lf",&y) == 1)
    {
        if (y != x)
            return 0;
    }
    return 1;
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2014, 23:47
Ответы с готовыми решениями:

Программа по поиску суффиксов у прилагательных
Даны прилагательные с суффиксами (1) -н(ый), (2) -ни(ий), (3) -шн(ый), (4)...

Нужна программа срочно по поиску символов в тексте!!!!!
Помогите написать программу,пожалуйста.Нужна сегодня.На С. Найти в файле все...

Программа по поиску минимально и максимального значения функции
Условие: Значение функции f(x)=4x3-3x2+2x-1 определены в точках x=X0(hx)Xn. (...

Программа по поиску совпадений слов в текстовом документе
Здравствуйте,вы бы не могли мне помочь написать программу на C++ по поиску...

Определить номер наименьшего числа последовательности (программа работает но не правильно)
Дана последовательность из целых чисел, за которой следует 0. Определите номер...

7
Справлюсь
23 / 23 / 14
Регистрация: 24.07.2014
Сообщений: 209
13.09.2014, 23:56 2
не:
Цитата Сообщение от ZimOne Посмотреть сообщение
fin = fopen (filename, "r");
а
C
1
2
fin = fopen (filename, "a+");
fseek ( fin,0,0);
Добавлено через 3 минуты
хотя нет, не так. щас...
0
BlackIce
310 / 172 / 73
Регистрация: 18.01.2014
Сообщений: 387
14.09.2014, 00:04 3
Цитата Сообщение от ZimOne Посмотреть сообщение
C++
1
2
int y;
if (fscanf(fin,"%lf",&y) != 1)
Почему у вас y целое, а вводите вы double?
0
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 84
14.09.2014, 00:06  [ТС] 4
поменял на double, все равно вылетает
0
BlackIce
310 / 172 / 73
Регистрация: 18.01.2014
Сообщений: 387
14.09.2014, 00:10 5
Цитата Сообщение от ZimOne Посмотреть сообщение
поменял на double, все равно вылетает
Цитата Сообщение от ZimOne Посмотреть сообщение
scanf("%d",x);
А это что?
0
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 84
14.09.2014, 00:13  [ТС] 6
поменял на "%f"
а х на double
0
BlackIce
310 / 172 / 73
Регистрация: 18.01.2014
Сообщений: 387
14.09.2014, 00:14 7
Лучший ответ Сообщение было отмечено ZimOne как решение

Решение

Цитата Сообщение от ZimOne Посмотреть сообщение
поменял на "%f"
а х на double
Починил, как мог:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
int searching (FILE *fin);
double x;
int main ()
{
    char filename[256];
    int result;
    FILE *fin;
    printf("Type file name ->");
    scanf("%s",filename);
    printf("Type the desired number ->");
    scanf("%lf", &x);
    fin = fopen (filename, "r");
    if (!fin) 
    {
        printf ("Cant open file %s\n", filename);
        return -1;
    }
    printf("start searching\n");
    result = searching(fin);
    switch(result)
    {
        case 1:
            printf ("The file contains desired number\n");
            break;
        case 0:
            printf ("The file doesn't contain desired number\n");
            break;
        case -1:
            printf ("Not enough data\n");
            break;
    }
    fclose (fin);
    return 0;
}
 
int searching (FILE *fin)
{
    double y;
    if (fscanf(fin, "%lf", &y) != 1)
        return -1;
    while (fscanf(fin, "%lf", &y) == 1)
    {
        if (y == x)
            return 1;
    }
    return 0;
}
1
ZimOne
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 84
14.09.2014, 00:17  [ТС] 8
Точно, амперсанд забыл.. Спасибо большое за помощь!
0
14.09.2014, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2014, 00:17

Программа по поиску наименьшего по модулю элемента матрицы не работает корректно
Задание: Составить алгоритм обработки матрицы А типа short размером М х N (М≤10...

Найти числа из заданной последовательности, которые делятся на все числа из другой последовательности
Вход программы имеет следующий формат. Сначала вводится N &gt; 0- количество чисел...

Программа выводящая на экран все четыре значные числа последовательности 1000 1003 1006 1009 1012 1015
здравствуйте программисты можете помочь сделать программу


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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