Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
ngabor2 #1726 üzenetére
Összedobtam egy kis progit, de nem shell script
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <stdbool.h>
#define ELEMENT char
#define EQUAL(a, b) ((a) == (b))
#define OFFSET int
#define NOTE_DELETE(ctx, xoff) note_delete(ctx, xoff)
#define NOTE_INSERT(ctx, xoff) note_insert(ctx, xoff)
#define EXTRA_CONTEXT_FIELDS
#undef MIN
#undef MAX
#define MIN(a, b) ((a) <= (b) ? (a) : (b))
#define MAX(a, b) ((a) >= (b) ? (a) : (b))
struct context;
static void note_delete(struct context* ctxt, int xoff);
static void note_insert(struct context* ctxt, int xoff);
#include "diffseq.h"
static int cost = 0;
static void note_delete(struct context* ctxt, int xoff)
{
cost += 1;
}
static void note_insert(struct context* ctxt, int xoff)
{
cost += 1;
}
int main(int argc, char** argv)
{
struct context ctxt;
int len1 = strlen(argv[1]);
int len2 = strlen(argv[2]);
int diags = len1 + len2 + 3;
ctxt.fdiag = calloc(2 * diags, sizeof(*ctxt.fdiag));
ctxt.bdiag = ctxt.fdiag + diags;
ctxt.fdiag += len2 + 1;
ctxt.bdiag += len2 + 1;
ctxt.too_expensive = len1 + len2;
ctxt.xvec = argv[1];
ctxt.yvec = argv[2];
compareseq(0, strlen(ctxt.xvec), 0, strlen(ctxt.yvec), false, &ctxt);
printf("%d\n", cost);
return (cost == 0) ? 0 : 1;
}A diffutils-ból kell hozzá a diffseq.h fájl.
$ ./a.out ablak ablak
0
$ ./a.out ablak albak
2
$ ./a.out ablak alak
1[ Módosította: ngabor2 ]
Új hozzászólás Aktív témák
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Több mint 70.000 eladott szoftverlicenc
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest