Форум программистов, компьютерный форум CyberForum.ru

Как проверить образуют ли дроби прогрессию? - C++

Восстановить пароль Регистрация
 
JoHarvelle
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
20.12.2013, 08:33     Как проверить образуют ли дроби прогрессию? #1
Помогите или вдохновите, пожалуйста, дописать программу!

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

Дан бинарный файл, содержащий числа а1,
b1, a2, b2... . Каждая пара чисел a и b
определяет числитель и знаменатель
натуральной дроби a/b. Проверить,
образуют ли дроби арифметическую
прогрессию. По результатам проверки
вывести на экран соответствующее
сообщение.

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
#include <stdlib.h>
#include <stdio.h>
void main ()
{
int n, i, a, b;
 
FILE *f1;
f1=fopen("my_file", "wb+");
printf  ("Vvedite  kolich-vo elementov n:");
scanf ("%d", &n);
if (f1)
{
for (i=0; i < n; i++)
  {
  printf ("Vvedite a:");
  scanf ("%d", &a);
  printf ("Vvedite b:");
  scanf ("%d", &b);
  }
 fwrite (&a, sizeof(int), n, f1);
 fwrite (&b, sizeof (int), n, f1);
}
rewind (f1);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2013, 08:33     Как проверить образуют ли дроби прогрессию?
Посмотрите здесь:

C++ Даны четыре вещественных числа от нуля. Проверить: образуют ли данные числа геометрическую прогрессию.
образуют ли элементы целочисленного массива размера N арифметическую прогрессию. C++
C++ Проверить, образуют ли элементы массива арифметическую прогрессию
Определить, образуют ли числа арифметическую прогрессию C++
Определить, образуют ли элементы массива прогрессию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,210
Завершенные тесты: 1
20.12.2013, 08:44     Как проверить образуют ли дроби прогрессию? #2
Арифметическая прогрессия будет, если
http://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{{A}_{n}}{{B}_{n}} - \frac{{A}_{n-1}}{{B}_{n-1}} = x
и x не меняется.
JoHarvelle
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
20.12.2013, 09:00  [ТС]     Как проверить образуют ли дроби прогрессию? #3
Помогите этот фрагмент написать на си, пожалуйста
zss
Модератор
Эксперт С++
 Аватар для zss
5956 / 5561 / 1788
Регистрация: 18.12.2011
Сообщений: 14,210
Завершенные тесты: 1
20.12.2013, 09:05     Как проверить образуют ли дроби прогрессию? #4
C++
1
2
3
4
5
6
7
8
9
10
11
bool briznak=true; // вне цикла
...
// внутри цикла
double xnew=Anew/(double)Bnew-Aold/(double)Bold;
if(xold!=xnew)
    priznak=false;
xold=xnew;
...
// вне цикла
if(priznak)
    cout<<"последовательность арифметическая";
Kastaneda
20.12.2013, 11:57
  #5

Не по теме:

Цитата Сообщение от JoHarvelle Посмотреть сообщение
вдохновите, пожалуйста, дописать программу!
Не научишся кодить на С++, будешь кричать "Свободная касса!".
Помогло?

JoHarvelle
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 21
24.12.2013, 01:16  [ТС]     Как проверить образуют ли дроби прогрессию? #6
Здравствуйте.
Попыталась дописать код по вашему образцу.
Но выдает ошибки.
Помогите, пожалуйста, исправить, если не сложно.

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
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
void main ()
{
int n, i, a, b, Anew, Bnew, Aold, Bold, xnew, xold, p;
int bool;
 
FILE *f1;
f1=fopen("my_file", "wb+");
printf  ("Vvedite  kolich-vo elementov n:");
scanf ("%d", &n);
if (f1)
{
for (i=0; i < n; i++)
  {
  printf ("Vvedite a:");
  scanf ("%d", &a);
  printf ("Vvedite b:");
  scanf ("%d", &b);
  }
 fwrite (&a, sizeof(int), n, f1);
 fwrite (&b, sizeof (int), n, f1);
}
rewind (f1);
p = (xold=(Anew/Bnew)-(Aold/Bold));
bool p = true;
for (i=1; i<n; i++)
{
double xnew = ((Anew/(double)Bnew)-(Aold/(double)Bold));
if(xold!=xnew)
bool p = false;
xold=xnew;
}
if(p)
   printf ("ar pr!");
 
}
Yandex
Объявления
24.12.2013, 01:16     Как проверить образуют ли дроби прогрессию?
Ответ Создать тему
Опции темы

Текущее время: 16:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru