Изменить код так, чтобы ввод данных осуществлялся из файла - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Есть код:
#include <stdio.h>
#include <stdlib.h>
#define N 20
 
int main()
 
{
int a[N], max, i, p;
for (i = 0; i<N; i++) 
{
printf ("Vvedite silu toka[%d]=", i);
scanf ("%d", &a[i]); 
}
max=0;
for(i=0; i<N; i++){
if (a[i] > max)
max = i;
}
printf("Nomer maksimalnogo soprotivleniya=%d\n", max);

system("PAUSE");
return 0;
}
Нужно изменить его так, чтобы ввод данных осуществлялся из файла; результат выводился в файл. Никак не получается изменить. Прошу Вашей помощи. Зараее спасибо!

Решение задачи: «Изменить код так, чтобы ввод данных осуществлялся из файла»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <locale.h>
#define N 20
 
int main(){
    setlocale(LC_ALL,"Russian"); //Âûâîä ГђГіГ±Г±ГЄГЁГ©, Ââîä ГЂГ*ãëèéñêèé
    char otvet;
    int a[N], se=13, max=0;
    FILE *f;
    f=fopen("tok.txt","rt");
    if(f==NULL){//ÏðîâåðêГ* ñóùåñòâîâГ*Г*ГЁГї ГґГ*éëГ*
        puts("ГЌГҐ Г±ГіГ№ГҐГ±ГІГўГіГҐГІ ГґГ*éëГ* \"test.txt\"");
        puts("ÑîçäГ*ГҐГІГ±Гї ГґГ*éë...");
        f=fopen("tok.txt","wt"); //ÑîçäГ*Г*ГЁГҐ ГґГ*éëГ*.
        puts("ÀâòîìГ*òè÷åñêîå Г§Г*ïîëГ*ГҐГ*ГЁГҐ ГґГ*éëГ* Г°Г*Г*äîìГ*ûìè Г·ГЁГ±Г«Г*ìè");
        for(int i=0;i<N;i++){
            a[i]=rand()%100 +5; //Ïñåâäî-Г°Г*Г*äîì ìîæåøü Г±Г*Г¬ Г*Г*ñòðîèòü. Ñåé÷Г*Г± Г®Г* îò 5 äî 100
            fprintf(f,"ÑèëГ* òîêГ*[%d]=%d\n",i,a[i]);
            printf("%d\t",a[i]);
        }
        fclose(f);
        puts("Г”Г*éë Г§Г*ïîëГ*ГҐГ*! Âû õîòèòå ïðîäîëæèòü Г°Г*áîòó Г± Г°Г*Г*äîìГ*ûìè Г·ГЁГ±Г«Г*ìè?(y\\n)");
        scanf("%c",&otvet);
        if(otvet=='n'){
            puts("Âûõîä ГЁГ§ ïðîãðГ*ììû...");
            system("pause");
            exit(-1); //Âìåñòî -1 ìîæГ*Г® ïîñòГ*ГўГЁГІГј ëþáîå ÷èñëî
        }
    }
    else{
        puts("Г”Г*éë \"tok.txt\" Г±ГіГ№ГҐГ±ГІГўГіГҐГІ");
    }
    system("pause");
    system("cls");
    for(int i=0;i<N;i++){
        if(i==10){
            se++;
        }
        fseek(f,se,1);
        fscanf(f,"%d",&a[i]);
    }
    fclose(f);
    for(int i=0; i<N; i++){
        if (a[i] > max)
        max = i;
    }
    printf("Íîìåð Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îãî ñîïðîòèâëåГ*ГЁГї = %d\n", max);
    f=fopen("rezult.txt","wt");
    fprintf(f,"Íîìåð Г¬Г*ГЄГ±ГЁГ¬Г*ëüГ*îãî ñîïðîòèâëåГ*ГЁГї = %d", max);
    fclose(f);
    puts("ÐåçóëüòГ*ГІ Г§Г*ГЇГЁГ±Г*Г* Гў ГґГ*éë \"rezult.txt\"");
//  remove("tok.txt");
    system("pause");
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы