Изменить код так, чтобы ввод данных осуществлялся из файла - 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");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д