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

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

ПРАКТИЧЕСКАЯ ЧАСТЬ. Пример 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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...


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


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Почему важны муниципальные выборы? Туристическая фирма оставляет за собой право, в случае причин непреодолимого характера, вносить некоторые изменения в программу тура без уменьшения общего объема и качества услуг, в том числе предоставлять замену отеля на равнозначный...

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

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