|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2009, 22:13 | #1 |
Пользователь
Регистрация: 24.09.2009
Сообщений: 23
|
Зачада на массив. Язык С.Создание файла
Здравствуйте! Исправьте пожалуйста программу:
нужно создать массив из 20 случайных элементов(в виде матрицы).Найти сумму максимального и минимального элемента массива в каждой строке.Результат записать в файл. include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include "string.h" #define FNAME "D:\\n.txt.\0"\ void main() { char name[20]; int a[4][5]; int i,j,max,min; FILE *k; int b; srand(time(NULL)); k=fopen(FNAME,"wt"); if (k==NULL) { printf ("Error"); getch (); } for(i=0;i<4;i++) { for(j=0;j<5;j++) { a[i][j] = rand()%100; printf("%2i ",a[i][j]); fprintf(k,"a[i][j]:"); scanf("%2i",&a[i][j]); fprintf(k,"%2i/n",a[i][j]); } printf("\n"); } for(i=0;i<4;i++) { max=min=a[i][j]; for(j=0;j<4;j++) { if (a[i][j]>max) max=a[i][j]; if (a[i][j]<min) min=a[i][j]; } b=max+min; printf("%i max+min = %i+%i = %i\n",i+1,max,min,max+min); fprintf(k,"max+min"); scanf("%i",&b); fprintf(k,"%2i\n",b); fclose(k); } getch (); } В принципе без создания файла,программа работала правильно,а теперь файл создаёт,но чушь какая-то получается. |
03.11.2009, 23:40 | #2 | |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
Цитата:
То же самое и при инициализации массива. Вы его или вручную вводите scanf("%2i",&a[i][j]); или рандомом a[i][j] = rand()%100; При заполнении рандомом для того, чтобы числа были разными при каждом запуске программы, добавьте это Код:
|
|
05.11.2009, 19:12 | #3 |
Пользователь
Регистрация: 24.09.2009
Сообщений: 23
|
Теперь в файл матрицу записывает и сумму максимального и минимального элемента только первой строки,а ещё три строки не записывает,почему?
void main() { int name [20]; int a[4][5]; int i,j,max,min; int n; FILE *fp; srand(time(NULL)); fp=fopen(FNAME,"wt"); if (fp==NULL) { printf ("Error"); getch (); } for(i=0;i<4;i++) { for(j=0;j<5;j++) { a[i][j]=rand()%100; printf("%2i ",a[i][j]); fprintf(fp,"%2i ",a[i][j]); } printf("\n"); fprintf(fp,"\n"); } for(i=0;i<4;i++) { max=min=a[i][j]; for(j=0;j<4;j++) { if (a[i][j]>max) max=a[i][j]; if (a[i][j]<min) min=a[i][j]; } printf("%i) max+min = %i+%i = %i\n",i+1,max,min,max+min); fprintf(fp,"%i) max+min = %i+%i = %i\n",i+1,max,min,max+min); fclose(fp); } getch (); } |
05.11.2009, 19:40 | #4 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
вы закрываете файл после первой итерации цикла for(i=0;i<4;i++), вынесите fclose(fp) за скобку } перед getch()
|
05.11.2009, 19:58 | #5 |
Пользователь
Регистрация: 24.09.2009
Сообщений: 23
|
ой точно!!! Спасибо боооольшое))))),всегда я что-то простое пропускаю)
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задача на массив(язык С) | Bella | Помощь студентам | 1 | 17.10.2009 17:44 |
Задача на массив (язык C) | Bella | Помощь студентам | 2 | 08.10.2009 19:50 |
Проблема такова: язык:Delphi7; сохранения файла; загрузка файла в String Grid | lightdevil | Общие вопросы Delphi | 3 | 06.03.2009 23:10 |