Считать 3 числа из файла, и записать в результирующий - C (СИ)

  1. Имеются некоторые проблемы с чтением с/записью в файл. Допустим, есть программа, считающая НСД 3 чисел. Надо считать 3 числа из файла, и записать в файл НСД. Файлов два варианта - бинарный и текстовый. Вот код без файлового ввода-вывода. Кликните здесь для просмотра всего текста C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #include <stdio.h>     int nsd(int r,int w) {                 do {      if (r>w) r=r%w;      else w=w%r;         }          while (r!=0&&w!=0);                  return r+w;     }     int main()     {             int a,b,c;         printf ("Input a,b,c: \n");         scanf ("%d%d%d", &a,&b,&c);        printf("%d ",nsd(c,nsd(a,b)));        return 0;     } Как я понял, запись примерно так смотрится например:C1 2 3 FILE *out; out=fopen("D://file.txt", "w"); if (out!=0) fprintf (out, "%d%d%d", a,b,c);Но не работает.Добавлено через 17 минут Вот это должно бы работать, но .... Кликните здесь для просмотра всего текста C1 2 3 4 5 6 7 8 9 10 FILE *ff;         FILE *out;         int a,b,c;         out=fopen("D://fileout.txt","r");         if (out!=NULL) fscanf(out,"%d%d%d",&a,&b,&c);         fclose(out);         nsd(c,nsd(a,b));         ff=fopen("D://filein.txt","w");         if (ff!=NULL) fprintf(ff, "%d ", nsd(c,nsd(a,b)));         fclose(ff);


textual

Код к задаче: «Считать 3 числа из файла, и записать в результирующий - C (СИ)»

#include <stdio.h>
 
int nsd(int r, int w) {
    do {
        if (r > w)
            r = r % w;
        else
            w = w % r;
    } while (r != 0 && w != 0);
 
    return r + w;
}
int main() {
    int a=12, b=60, c=50;
    //printf("Input a,b,c: \n");
    //scanf("%d%d%d", &a, &b, &c);
    //printf("%d ", nsd(c, nsd(a, b)));
    FILE *ff;
    FILE *out;
    out = fopen("fileout.txt", "w");
    if (out!=NULL) fprintf(out, "%d %d %d", a, b, c);
    fclose(out);
    out = fopen("fileout.txt", "r");
    if (out != NULL)
        fscanf(out, "%d%d%d", &a, &b, &c);
    fclose(out);
    nsd(c, nsd(a, b));
    ff = fopen("filein.txt", "w");
    if (ff != NULL)
        fprintf(ff, "%d ", nsd(c, nsd(a, b)));
    fclose(ff);
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

10   голосов, оценка 3.900 из 5



Похожие ответы
  1. Создать массив, заполнить 20 элементами, сложить и вывести на экран все кратные 3Добавлено через 4 минуты Помогите плиз

  1. Написать программу для подсчета суммы мест, на которых в словах текста стоит заданная буква.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include int j, sum,a; char s, c; main() {     printf("Vvedite text", s);     scanf("%d", &s);     printf("vvedite bukvu iz texta", c);     scanf("%d", &c);     sum=0;     printf("mesta na kotorix v slovax stoit eta bukva:");     for(j=1; a=strlen(s);)     {         if(s[j]=c)         sum=sum+j;     printf(j,"");     }   printf(""); printf("summa mest na kotorix stoit eta bukva=", sum); }

  1. Дана символьная строка.Подсчитать сколько раз в ней встречается подслово абба. В строке аббабба это слово встречается 1 раз а должно быть 2(так препод поросил)как это реализовать?. Очень прошу всех помочь.

  1. Здравствуйте! При выполнении любой из двух функций возникает ошибка.C1 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 void polusum(double **a,double *mas,int row,int col) {int i=1,j=0;     mas = (double *)malloc(col*sizeof(double));     for(j=0;j(a[i][j]+a[i][j])/2.0)             {                 mas[j]=0.0;                 printf("%d",i);                 break;             }     } }   void binmatrix(double **a,int row,int col,int p) {int i,j;     if (maxarr(a,row,col)-minarr(a,row,col)>p)         for(i=0;i0.0)                     a[i][j]=1.0;                 else                     a[i][j]=0.0; }Подскажите, пожалуйста, где ошибка?

  1. Помогите, пожалуйста, только начал изучать язык, нашел в сборнике задач для паскаля такое задание : Во введенной пользователем строке посчитать количество букв «а» и «о» вывести их число на экран. Как его правильно выполнить?

  1. Куб состоит из n3 прозрачных и непрозрачных элементарных кубиков. Есть ли хоть один просвет по каждому из трех измерений? Если так, вывести координаты каждого просвета.Добавлено через 14 секунд Помогите пожалуйстаДобавлено через 18 часов 11 минут помогите

  1. Помогите пожалуйста, написал такой вот код, нужно считать список, и парные слова вывести в одной строке, а непарные в другой. Программа после запуска сразу же вылетает, уже не знаю что делать. Пишу на С.C1 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 #include #include #define N 256 int main() {     char str[255], buf1[N], buf2[N], *odd, *even, *start;     int flag = 0;       printf("vvedite");     scanf("%s", str);     start = str;     odd = buf1;     even = buf2;     while (*start)     {         if (!flag)         {             while (*start != ' ' && *start)                 *odd++ = *start++;             if (*start)             {                 *odd++ = ' ';                 start++;                 flag = 1;             }         }         else         {             while (*start != ' ' && *start)                 *even++ = *start++;             if (*start)             {                 *even++ = ' ';                 start++;                 flag = 0;             }         }     }     *odd = '\0';     *even = '\0';     puts(buf1);     puts(buf2);     //printf(buf1);     //printf(buf2);     return 0; }

  1. Всем привет, помогите посчитать количество рекурсий в программе.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include #include unsigned long long Fib(unsigned long long N) {         if (N<=1)     return (N);     else     return Fib(N-1)+Fib(N-2);       } int main () {     setlocale(LC_ALL, "Rus");     unsigned long long N;     printf ("Введите число N");     scanf("%d",&N);     for(int i;i<=N;i++)     printf ("%d\n",Fib(i));     printf("runtime=%d\n",clock()/1000);      }