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

Помогите или вдохновите, пожалуйста, дописать программу!Бинарный файл создаю и заполняю числами. Но не знаю, как проверить образуют ли дроби прогрессию. Помогите с этой частью, пожалуйста.. Дан бинарный файл, содержащий числа а1, b1, a2, b2... . Каждая пара чисел a и b определяет числитель и знаменатель натуральной дроби a/b. Проверить, образуют ли дроби арифметическую прогрессию. По результатам проверки вывести на экран соответствующее сообщение.
#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);
}
4 ответа

Арифметическая прогрессия будет, еслии x не меняется.


Помогите этот фрагмент написать на си, пожалуйста


bool briznak=true; // вне цикла
...
// внутри цикла
****** xnew=Anew/(******)Bnew-Aold/(******)Bold;
if(xold!=xnew)
    priznak=false;
xold=xnew;
...
// вне цикла
if(priznak)
    cout<<"последовательность арифметическая";


Здравствуйте. Попыталась дописать код по вашему образцу. Но выдает ошибки. Помогите, пожалуйста, исправить, если не сложно.
#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++)
{
****** xnew = ((Anew/(******)Bnew)-(Aold/(******)Bold));
if(xold!=xnew)
bool p = false;
xold=xnew;
}
if(p)
   printf ("ar pr!");
 
}