Skip to content

Instantly share code, notes, and snippets.

View vasalf's full-sized avatar

Vasily Alferov vasalf

  • Saint Petersburg
View GitHub Profile
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char* argv[]) {
printf("argc: %d\n", argc);
for (int i = 0; i < argc; i++) {
printf("argv[%d]: %s\n", i, argv[i]);
}
printf("\n");
@vasalf
vasalf / practice.c
Created October 12, 2019 17:07
Практика 5': Упражнения на указатели
void task1() {
int x = 179;
int* p = &x;
int** n = malloc(sizeof(int*));
}
/*
Какой тип у выражений?
1. p
@vasalf
vasalf / 01_efficency.c
Last active October 1, 2019 22:00
Practice 4
#include <stdio.h>
#include <string.h>
typedef struct {
int x;
float y;
char s[256];
} my_struct_t;
void f1(my_struct_t m) {
@vasalf
vasalf / bash.md
Last active September 6, 2019 17:47
Кратко про bash

Краткий мануал по bash

NB: Это пересказ того, что было на паре, а на паре был очень краткий ликбез. Для полноты ощущений знаний рекомендуется пройти какой-нибудь более полный ликбез. Например, такой на двух языках висит в ссылках на вики в разделе «лекции».

Команды

Обычное соглашение про вызов команд в bash:

&lt;команда&gt; -&lt;флаг&gt; [значение] --&lt;опция&gt; [значение] &lt;аргумент1&gt; &lt;аргумент2&gt; ... 
@vasalf
vasalf / Main.hs
Created August 9, 2019 10:41
BenchStars.hs
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Algebra.Graph.Bipartite.AdjacencyMap
import Control.Monad.Random
import Criterion.Main
import Control.Monad (foldM, replicateM)
import Data.Traversable (sequenceA)
@vasalf
vasalf / Loop.hs
Last active August 5, 2019 20:31
Loop monad for Haskell
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE InstanceSigs #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UndecidableInstances #-}
module Loop where
import Prelude hiding (break)
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import Algebra.Graph.AdjacencyMap
import Algebra.Graph.AdjacencyMap.Algorithm
import qualified Data.Map.Strict as Map
import qualified Data.Set as Set
@vasalf
vasalf / split.cpp
Created November 27, 2018 18:04
Split with pairs
/*
void split(node *v, int x, node *&l, node *&r) {
if (!v) {
l = r = nullptr;
return;
}
if (x < v->x) {
split(v->R, x, v->R, r);
l = v;