Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PODG_EKZ весна 2010.RTF
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
82.96 Кб
Скачать

Void rebra(int n, int msm[nmax][nmax])

{ int i, j; // Индекс строки и столбца

// Просмотр матрицы смежности по главной диагонали и выше

for (i=0; i<n; i++)

for (j=i; j<n; j++)

If (msm[I][j]) fprintf (fout,"%d %d ", I, j);

}

int main()

{

int n; // Число вершин

int m[NMAX][NMAX]; // Матрица смежности

if ((fin=fopen("input.txt","r"))==NULL)

{ puts ("File input.txt not found");

return 1;

}

if ((fout=fopen("output.txt","w"))==NULL)

{ puts ("File output.txt is not opened");

return 1;

}

ReadMsm(&n, m); // Ввод матрицы смежности

// PrintMsm(n, m); // Вывод матрицы смежности

rebra(n, m); // Получение и вывод решения задачи

fclose(fin); fclose(fout);

return 0;

}

/* Тест. Вход - n и матрица смежности:

4

0 1 1 0 Граф: 0 -- 1

1 0 1 0 | /

1 1 1 1 _| /

0 0 1 0 [_2--- 3

Результат: 0 1 0 2 1 2 2 2 2 3

*/

// P00_4.C Пример решения задачи (вместе с файлом ListNE.C)

// Задача 00.4. Составить функцию получения значения 1-го элемента

// заданного списка из целых чисел.

#include <stdio.h>

#include <stdlib.h>

// РЕШЕНИЕ ЗАДАЧИ 00.4: описание данных и функция INF_1_EL

#define INF_TYPE int // ТИП информации ВЫБРАТЬ: int char float char*

#define F_ "%d" // ФОРМАТ информации ВЫБРАТЬ: %d %c %f %s

#define INF_ Z // ИМЯ информации Z можно оставить или заменить

struct LIST // элемент списка

{ INF_TYPE INF_; // информация элемента списка

struct LIST *next; // ссылка на следующий элемент

};

FILE *fin, *fout; // Входной и выходной файлы

#include "listNE.c" // Функции создания и вывода списка

// Получение Х - значения 1-го элемента списка s

// Код завершения : 0 - есть 1-й элемент, 1 - список пуст.

Int inf_1_el (inf_type *X, struct list *s)

{

if(s==NULL) return 1; // неудача

else {

*X = s->INF_;

return 0; // успех

}

}

int main()

{ struct LIST *q; // указатель списка

Int kz; // Код завершения функции: 0 - успех, 1 - неудача

Inf_type rez; // Результат - значение 1-го элемента

if ((fin=fopen("input.txt","r"))==NULL)

{ puts ("File INPUT.TXT is not found"); return 1; }

if ((fout=fopen("output.txt","w"))==NULL)

{ puts ("File OUTPUT.TXT is not opened"); return 1; }

CreateList(&q); // создание списка p из значений файла input.txt

// PrintList(q); // Вывод списка p для отладки или решения задачи

// Вызов функции-решения задачи

kz = INF_1_EL(&rez, q); // Код завершения функции: 0/1

fprintf(fout, "%d", kz);

if(kz==0) // есть 1-й элемент

fprintf(fout, " " F_, rez); // вывод 1-го элемента в формате F_

fclose(fin); fclose(fout);

return 0;

}

// P00_5.C Пример решения задачи 00.5 (вместе с файлом LISTNE.C)

// Задача 00.5. Составить функцию получения значения k-го элемента

// заданного списка из вещественных чисел.

#include <stdio.h>

#include <stdlib.h>

// РЕШЕНИЕ ЗАДАЧИ 00.5: описание данных и функция inf_k_el

#define INF_TYPE float // ТИП информации ВЫБРАТЬ: int char float char*

#define F_ "%f" // ФОРМАТ информации ВЫБРАТЬ: %d %c %f %s

#define INF_ Z // ИМЯ информации Z можно оставить или заменить

struct LIST // элемент списка

{ INF_TYPE INF_; // информация элемента списка

struct LIST *next; // ссылка на следующий элемент

};

FILE *fin, *fout; // Входной и выходной файлы

#include "listNE.c" // Функции создания и вывода списка

// Получение x - значения k-го элемента списка p

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]