Няшная / Говнокод #5222 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
/* 
 * Тема: "Двумерные массивы"
 * Разработать программу для решения указанной ниже задачи.
 * Поиск строк или столбцов и преобразование матрицы оформить в виде подпрограммы.
 * Глобальные переменные не использовать.
 * В заданной матрице поменять местами столбцы, содержащие следующие элементы:
 * первый четный и последний нечетный.
 */
#include <stdio.h>

void raschet(int a[][20], int size, int *key) {
	/*******************************************
	 * Поиск столбцов и преобразование матрицы */
	int i, j;							/* Индексы массива */
	int buffer;							/* Временное место для копирования элементов столбца */
	int first, second;					/* Первый и второй столбцы удовлетворяющие условию соответственно */
	int flag = 1;						/* Переключатель найденых столбцов */
	*key = 0;							/* Обнулить сообщение для главной программы о выполнении условия */
	
	
	for(j=0; j<size; j++)						/* Перебор столбцов	*/
		if(a[0][j]%2==0 && a[size-1][j]%2!=0) {	/* Если найден удовлетворяющий условию столбец	*/
			if(flag == 1) {						/* Если найден первый столбец */
				first = j;						/* Записать его положение в first */
				flag = 2;						/* В случае нахождения след. столбца выполнится след. else if */
				*key = 1;						/* Сообщить главной программе что найден 1 столбец уд. усл. */
			}
			else if(flag == 2) {				/* Если найден второй */
				second = j;						/* Записать его положение в second */		
				*key = 2;						/* Сообщение для главной программы о выполнении условия задачи */
				for(i=0; i<size; i++) {			/* Перебор элементов столбцов*/
					buffer=a[i][first];			/* Элемент столбца first копируется в buffer  */
					a[i][first]=a[i][second];	/* Элемент столбца second копируется вместо эл-та first */
					a[i][second]=buffer;		/* Элемент из buffer копируется в столбец second */
				}
				first = j;						/* Записать положение текущего столбца в first */
			}
		}		
}	
void main() {
	int key;							/* Сообщение для главной программы о выполнении условия */
	int i, j;							/* Индексы элементов масcивов */
	int size = 8;							/* Размерность массива(матрицы) */ 
	/***************
	 * Ввод данных */
        int a[20][20] = {
                {1, 2, 3, 4, 6, 8, 7, 2},
                {1, 2, 3, 4, 1, 1, 2, 3},
                {1, 2, 3, 4, 5, 3, 3, 3},
                {2, 5, 7, 9, 3, 1, 2, 3},
                {2, 5, 7, 9, 3, 1, 2, 3},
                {2, 5, 7, 9, 3, 1, 2, 3},
                {2, 5, 7, 9, 3, 1, 2, 3},
                {2, 5, 7, 9, 3, 5, 2, 9}
        };  
	/*************************
	 * Вывод исходных данных */
	system("cls");
	printf("В заданной матрице поменять местами столбцы, содержащие следующие элементы:\n");
	printf("первый четный и последний нечетный.\n");
	printf("\nИсходная матрица имеет вид:\n");
	for(i=0; i<size; i++) {
		for (j=0; j<size; j++)
			printf("%5d", a[i][j]);
			printf("\n");
	}
	raschet(a, size, &key);				/* Функция поиска столбцов и преобразования матрицы */
	/*********************
	 * Вывод результата */ 	
	if(key == 0)
		printf("\nСтолбцов удовлетворяющих условию не найдено.");
	else if(key == 1)
		printf("\nНайден только один столбец удовлетворяющий условию.");
	else {
		printf("\nРезультирующая матрица имеет вид:\n");
		for(i=0; i<size; i++) {
			for (j=0; j<size; j++)
			printf("%5d", a[i][j]);
			printf("\n");
		}
	}
	printf("\n\n");
	printf("Конец!\n");
	system("PAUSE");
}

http://ideone.com/3Qa2n оно выполняется !
что тут говно, а что стерильно ?

Запостил: diimdeep diimdeep , (Updated )

Комментарии (0) RSS

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8