Кресты / Говнокод #26014 Ссылка на оригинал

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
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
//замена главной диагонали с n-м столбцом в матрице с менюшкой и печеньками

#include "pch.h"
#include <iostream>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
#include <ctime>
#include <iomanip>

using namespace std;

int a[100][100], n = 3;

void inputN();
void filling(int);
void manualfill(int);
void showmass(int);
void solving();
void menu();

int main()
{
	setlocale(0, "rus");
	menu();
	srand(time(NULL));
	return 0;
}

void inputN() {
	system("cls");
	cout << "Введите n = "; cin >> n;
	if (n < 3) {
		cout << "\nИспользован стандартный размер массива 3х3\n\n";
		n = 3;
	}
	showmass(2);
	cout << "\n\n";
	system("pause");
}

void filling(int n) {
	system("cls");
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			a[i][j] = rand() % 100 + 1;
		}
	}
	showmass(3);
}

void manualfill(int n) {
	system("cls");
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			printf("  a[%d][%d] = ", i + 1, j + 1); cin >> a[i][j];
		}
	}
	system("pause");
}

void showmass(int status) {
	if (status == 2 or status == 3) cout << "\n\n";else system("cls");
	
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < n; j++) {
			cout << setw(5) << a[i][j];
		}
		cout << endl;
	}
	if (status==1 or status == 3)system("pause");
}

void solving() {
	system("cls");
	showmass(2);
	int c = 0;
	int stolb = 0;
	cout << "\nКакой столбец меняем?\n>>"; cin >> stolb; 
	stolb--;
	for (int i = 0; i < n; i++) {
		c = a[i][i];
		a[i][i] = a[i][stolb];
		a[i][stolb] = c;
	}
	printf("\n\n----гл. диагональ меняется с %d столбцом----\n\n",stolb+1);
	showmass(3);

	for (int i = 0; i < n; i++) {
		c = a[i][i];
		a[i][i] = a[i][stolb];
		a[i][stolb] = c;
	}
}

void menu() {
	system("cls");
	int ch = 0;
	while (true) {
		cout << "     МЕНЮ\n\n";

ъуъ

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

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

  • не влез, лол

    void menu() {
    system("cls");
    int ch = 0;
    while (true) {
    cout << " МЕНЮ\n\n";
    cout << "1. ввод размера массива\n";
    cout << "2. автозаполнение массива\n";
    cout << "3. ручной ввод массива\n";
    cout << "4. вывод массива\n";
    cout << "5. замена\n";
    cout << "6. выход\n\n";
    cout << ">>"; cin >> ch;

    if (ch == 1) inputN();
    if (ch == 2) filling(n);
    if (ch == 3) manualfill(n);
    if (ch == 4) showmass(1);
    if (ch == 5) solving();
    if (ch == 6) break;
    system("cls");
    }

    }
    Ответить
  • > a[i][j] = rand() % 100 + 1;

    Хуевый рандом, распределение будет неравномерным
    Ответить
    • Если RAND_MAX == 32767 (как обычно и бывает), то вряд ли смещение на [69; 100] можно будет хоть как-то заметить (не прибегая к специализированному матану, конечно).
      Ответить
      • Вероятность каждого из значений из интервала [1; 68] будет 328/32768 ≈ 0,01 + 1×10^-5, а вероятность каждого из значений из интервала [69; 100] будет 327/32768 ≈ 0,01 - 2×10^-5, т. е. на графике плотности вероятности будет ступенька высотой 3×10^-5. Так?
        Ответить
        • Гениально! Всего лишь в триста раз будет медленнее, зато на матрице с количеством элементов более 100 тысяч мы не заметим отклонения распределения от равномерного.
          Ответить
        • int t = 0, upperBoundary = RAND_MAX - RAND_MAX % 100;
          do {
            t = rand();
          } while (t > upperBoundary);
          a[i][j] = t % 100 + 1;


          Оптимизировал, проверь.
          Ответить
      • Это, на самом деле, очень сложная тема, не стоит вскрывать её, вы молодые, шутливые, вам всё легко вот, например, несколько решений есть: https://habr.com/ru/post/455702/
        Ответить
            • И когда над ними грянул смертный гром,
              Нам судьба иное начертала,
              Нам, непризывному, нам, неприписному
              Воинству окрестного квартала.
              Ответить
                • Ёб твою ж... Здесь же... пять хвостов должно быть... кошек! Опять спиздили? Хуйня какая-то! Точно, точно! Здесь, здесь... здесь... были кошки! А где они? Один, два, три, четыре, пять, шесть-семь-восемь-девять-десять-одиннадцать-двенадцать... А было семнадцать. Было семнадцать! Спиздили. Это говно спиздило пять кошек! Пять хвостов спиздили кошек! Суки! Им нельзя ничего доверять, нельзя им давать ключи! Говно! Твою мать!
                  Ответить
                  • У себя украли, у себя спиздили! Говно! Говно, не люди! Подонки!
                    Подонки! Все хотят наебать! Все хотят - наебать! За что? За что?!! Наебать! Кого?! Я их кормлю!
                    Говно, подонки, черви! Пять кошек! Я вам деньги, я заплачу, спроси, будь честным!
                    Ответить
                    • Апельсины. Апельсины. Слива, надо же! Кто бы мог подумать. Слива. Смородина. Смородина. Суки, пять кошек! Говно. Так и жить не захочешь. Наебут, на работе. Дети, подонки, говно, суки! Пять кошек, пять! Ну возьми две! Ну погладь, погладь на работе, что тебе стоит блядь. Пять кошек!
                      Ответить

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

Где здесь C++, guest?!

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


    8