zzzZZZ...
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
1

Из файла считать числа и проверить, не равны ли они сумме двух соседних

30.11.2013, 23:32. Показов 765. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогаю 1 товарищу сделать задачу.
Надо из файла1 считывать числа, проверять не равны ли они сумме двух соседних, если равны, не записывать их в другой файл2.
Соотвественно я сделал просто - считал в массив, проверил, записал. НО его препод сказал что нафиг это хрень и динамический массив здесь не нужен, и мол нужно считывать по 3 элемента и проверять, стал переписывать и столкнулся с следующими вопросами:
я считываю по 3 элемента, допустим из файла со значениями 1 2 3 4 5 6, соотвественно я получу:
1 2 3
4 5 6
но мне нужно считывать
1 2 3
2 3 4
4 5 6
нашёл что это делается через fseek, но при этой функции у меня while на foef не реагирует т.е. бесконечный цЫкл
И ещё вопрос, я дойду до 4 5 6, не будет ли дальше читаться 5 6 "выход за пределы памяти" ? ЫЫЫ глупость спросил там же будет eof

код:
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
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
    int x,a,b,c;
    FILE *file1;
    FILE *file2;
    const char* file_name1 = "file1.txt";
    const char* file_name2 = "file2.txt";
    file1 = fopen( file_name1, "r");
    file2 = fopen( file_name2, "w");
 
// проверка на ошибки
    if (!file1 || !file2)
    {
    puts ("Error. File not found\n");
    exit(1);
    }
    int i=1; 
    while(!feof(file1))
    {
        i++;  //счетчик для отслеживания положенрия указателя в файле, но увы....
        fscanf(file1,"%d%d%d",&a ,&b ,&c);
       // fseek(file1, , ); //здесь я не очень представляю что подставлять
        printf("%d %d %d\n",a, b ,c);
    //дальше я тут считаю всякие if (b==a+c)
    }
 
    fclose(file2);
    fclose(file1);
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2013, 23:32
Ответы с готовыми решениями:

Заменить все элементы, которые равны сумме двух соседних предыдущих элемнтов на нули
Добрый вечер форумчани) Помогите мне пожалуйста решить задачку!) В целочисленном массиве А ...

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

Проверить истинность высказывания: "Сумма двух первых цифр четырехзначного числа равна сумме двух последних"
Написать программу, проверяющую истинность высказывания «Сумма двух первых цифр...

Считать из файла вещественные числа и выяснить, действительно ли все они положительны
В файле data.dat хранится множество x0,x1...,x32 из 32 положительных вещественных чисел. Составьте...

1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
01.12.2013, 01:39 2
Тебе надо считывать не по 3, а по одному элементу.
C++
1
2
3
4
5
6
7
int a,b,c;
fscanf(file1, "%d%d", &a, &b);
while( !feof(file1) ){
  fscanf(file1, "%d", &c); 
  if (b==a+c) {...}
  a=b;  b=c;
}
1
01.12.2013, 01:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2013, 01:39
Помогаю со студенческими работами здесь

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

Проверить истинность высказывания: "Сумма двух первых цифр данного четырехзначного числа равна сумме двух его последних цифр"
Проверить истинность высказывания: &quot;Сумма двух первых цифр данного четырехзначного числа равна...

Найти все числа, меньше заданного числа, которые равны сумме своих делителей, исключая себя
Помогите пожалуста, это сложное задание, я в этом паскале мало что знаю Мне нужно написать вот...

Функция двух переменных, имеющая повторные пределы, но они не равны
Привести пример функции двух переменных, которая имеет повторные пределы, но они не равны.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru