Главная /
Программирование на языке C в Microsoft Visual Studio 2010 /
Задана программа, в которой выполняется подключение файла arr.h: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <locale.h> #ifndef ARR #define ARR #include "arr.txt" #endif int ma
Задана программа, в которой выполняется подключение файла arr.h:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <locale.h>
#ifndef ARR
#define ARR
#include "arr.txt"
#endif
int main (void) {
int i = 0 , j = 0, n;
setlocale (LC_ALL, "rus");
printf("Введите количество человек (от 1 до 3): ");
scanf("%d", &n);
if (n<1 || n>3) {
printf("Ошибка ввода данных. Нажмите любую клавишу: ");
_getch();
exit(1);
}
#undef ARR
#ifdef ARR
for (i=0; i<n; i++)
printf("%d. %s %s\n", i+1, names[i], surnames[i]);
#endif
return 0;
}
Содержание файла arr.h:
char *names[] = {"Иван", "Пётр", "Илья"};
char *surnames[] = {"Иванов", "Пётров", "Ильин"};
Определите, будут ли выведены на экран сочетания имён и фамилий из файла arr.h при выполнении приведенной программы? Если не будут, то почему?
вопрос
Правильный ответ:
имена и фамилии не будут выведены, так как используется директива
#undef
имена и фамилии не будут выведены, так как в программе допущена ошибка - директива
#undef
используется в теле функции main()
имена и фамилии будут выведены на экран
Сложность вопроса
90
Сложность курса: Программирование на языке C в Microsoft Visual Studio 2010
62
Оценить вопрос
Комментарии:
Аноним
Зачёт защитил. Бегу кутить отмечать зачёт по тестам
01 май 2020
Аноним
Это очень намудрённый вопрос по интуиту.
21 фев 2017
Аноним
Это очень нехитрый вопрос по интуиту.
20 дек 2016
Другие ответы на вопросы из темы программирование интуит.
- # Файл g:\test.txt содержит две строки: [Большая Картинка] Чему будет равен символ str[11] в результате выполнения приведенного фрагмента кода? char str[30], i; FILE *fp; if((fp = fopen("g:\\test.txt", "r"))==NULL) { printf("Ошибка при открытии файла.\n"); exit(1); } fgets(str, 30, fp); i = strlen(str); fclose(fp);
- # В результате выполнения какой программы на экран будет выведена строка 0 1 2 100 101 102?
- # Необходимо решить задачу поиска пути между двумя городами. Карта дорог представлена в виде графа: [Большая Картинка]Процесс поиска представлен как последовательность шагов. На каждом шаге с использованием некоторого критерия выбирается точка, в котороую можно попасть из текущей. Если очередная выбранная точка совпала с заданной конечной точкой, то маршрут найден. Если не совпала - выполняется еще один шаг. Поскольку текущая точка может быть соединена с несколькими другими, то сначала выбирается точка с наименьшим номером. Определите, выполняет ли приведенная программа поставленную задачу (для появснения в программе приведены комментарии): #define N 7 void step(int, int, int); int map[N][N]; // карта: map[i,j]!=0, если точки i и j соединены int road[N]; // маршрут - номера точек карты int incl[N]; // incl[i]==1, если точка с номером i включена в road int start; // начальная точка маршрута int finish; // конечная точка маршрута int i, j; int main (void) { // инициализация массивов for (i=0; i<N; i++) road[i] = 0; for (i=0; i<N; i++) incl[i] = 0; for (i=0; i<N; i++) for (j=0; j<N; j++) map[i][j] = 0; // ввод значений элементов карты map[0][1] = 1; map[1][0] = 1; map[0][2] = 1; map[2][0] = 1; map[0][3] = 1; map[3][0] = 1; map[2][3] = 1; map[3][2] = 1; map[2][6] = 1; map[6][2] = 1; map[3][5] = 1; map[5][3] = 1; map[4][5] = 1; map[5][4] = 1; map[4][6] = 1; map[6][4] = 1; map[5][6] = 1; map[6][5] = 1; printf("Введите через пробел номер начальной и конечной точек: "); scanf("%d %d", &start, &finish); road[0] = start; // внести точку в маршрут incl[0] = 1; // пометить точку как включенную step(start, finish, 2); return 0; } void step(int s, int f, int p) { int c; // номер точки, в которую делается очередной шаг int i; if (s==f) { printf("Путь: "); for (i=0; i<p-1; i++) printf("%d ", road[i]); printf("\n"); } else { // выбор очередной точки for (c=0; c<N; c++) // проверка всех вершин if (map[s][c]!=0 && incl[c]==0) { // точка соединена с текущей и не включена в маршрут road[p] = c; // добавление вершины в путь incl[c] = 1; // пометка вершины как включенной step(c, f, p+1); incl[c] = 0; road[p] = 0; } } }
- # В программе объявлены переменные: int x = 15, y = 2; float z; z = x/y; printf("z = %f\n", z); В результате выполнения каких операций будет выведено значение z = 7.5?
- # Какая программа выполняет поиск максимального элемента в массиве?