Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

ПРАКТИЧЕСКАЯ ЧАСТЬ. Пример 1. Написать программу заполнения матрицы размера n × m нечетными целыми числами с выводом результата на консоль и в текстовый файл





Пример 1. Написать программу заполнения матрицы размера n × m нечетными целыми числами с выводом результата на консоль и в текстовый файл. Размеры матрицы и начальное нечетное число задаются пользователем с клавиатуры.

Программный код решения примера

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #include <stdlib.h> int main(void) { int i, j, x, xi, n, m, *matr; FILE *fid; char str[] = "D:\\data.txt"; // месторасположение файла if ((fid = fopen(str, "w")) == NULL) { printf("\n\t The file could not be opened.\n "); printf("\n Press any key: "); getch(); return -1; } printf("\n\t Enter the number of lines: "); scanf_s("%d", &n); printf("\t Enter the number of columns: "); scanf_s("%d", &m); printf("\t Enter the odd number: "); scanf_s("%d", &x); xi = x; matr = (int *)calloc(n*m, sizeof(int)); // Заполнение матрицы целыми числами for (i = 0; i < n; ++i) for (j = 0; j < m; ++j) {matr[i*m + j] = x; x += 2; } printf("\n\t Matrix (%d x %d), initial number: %d\n",n,m,xi); fprintf(fid, "\r\n\t Matrix (%d x %d), initial number: %d\r\n", n, m, xi); for (i = 0; i < n; ++i) { printf("\n "); fprintf(fid, "\r\n "); for (j = 0; j < m; ++j) { printf("%5d", matr[i*m + j]); fprintf(fid, "%5d", matr[i*m + j]); } } fclose(fid); printf("\n\n Result of record look in file %c\n", str); printf("\n Press any key: "); getch(); return 0; }

В программу включена препроцессорная директива #define¼; для устранения предупреждения о ненадежной работе функции fopen() в Visual Studio 2010.


Возможный результат выполнения программы показан на рис. 12.1.

Рис. 12.1. Заполнение матрицы нечетными числами


Текстовый файл с заполненной матрицей представлен на рис. 12.2.

Рис. 12.2. Матрица нечетных чисел в текстовом файле

Примечание. В текстовом файле следует использовать моноширинный (равноширинный) шрифт, например Courier New.

Задание 1

1. Вместо функции calloc() примените функцию malloc().

2. Найдите сумму элементов столбцов матрицы. Результат запишите под матрицей.

3. Произведите заполнение матрицы нечетными числами по столбцам.

4. Запишите сформированную матрицу в файл с расширениями .doc, .xls, .rtf, .csv. Просмотрите полученные файлы.


 

5. Сформируйте матрицу из четных чисел размером (3Х) × (4Х), результат выведите в текстовый файл с именем compX.txt, где Х – номер компьютера, на котором выполняется лабораторная работа.

Пример 2. Написать программу посимвольной записи в текстовый файл некоторой строки, набранной на консоли, и ее посимвольного чтения из текстового файла с перезаписью в другой текстовый файл.

В качестве строки возьмем «hello, world». Для посимвольной записи в файл используем функции putc() и fputc(), которые реализованы для сохранения совместимости со старыми версиями языка С. Для прекращения чтения символов с клавиатуры используем точку '.'.

Программный код решения примера

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> int main(void) { char ch; FILE *f_in, *f_out; char str[] = "D:\\data.txt"; // файл записи char str2[] = "D:\\data2.txt";// файл перезаписи if ((f_in = fopen(str, "w")) == NULL) { printf("\n\t The file could not be opened.\n "); printf("\n Press any key: "); getch(); return -1; } printf("\n Enter the characters by pressing Enter and exit point:\n\n> "); if ((ch = getchar())!= '.') { printf(" "); fputc(ch, f_in);} fclose(f_in); if ((f_in = fopen(str, "r")) == NULL){ printf("\n\t The file could not be opened.\n "); printf("\n Press any key: "); getch(); return -1; } if ((f_out = fopen(str2, "w")) == NULL){ printf("\n\t The file could not be opened.\n "); printf("\n Press any key: "); getch(); return -1;} if((ch = getc(f_in))!= EOF) putc(ch, f_out); fclose(f_in); fclose(f_out); printf("\n\n Result of record look in file %c\n", str); printf(" Result of rewriting look in file %c\n", str2); printf("\n Press any key: "); getch(); return 0; }

В программе сначала открывается файл data.txt для записи в него символов, затем он закрывается. Этот же файл необходим для считывания записанных символов с целью записи их в другой файл под именем data2.txt. Всякий раз производится проверка возможности открытия файлов. Запись символов в текстовый файл выполняется с помощью функций putc() и fputc(), считывание символов из файла – с помощью функции getc().

В среде Visual Studio стандартная функция fopen() языка С вызывает предупреждение при компиляции программы. Для его устранения в программу включена препроцессорная директива







Дата добавления: 2015-09-06; просмотров: 644. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия