Phil %!s(int64=3) %!d(string=hai) anos
pai
achega
e18cb75e5c
Modificáronse 3 ficheiros con 57 adicións e 0 borrados
  1. 3 0
      03/03.pro
  2. 46 0
      03/main.cpp
  3. 8 0
      03/main.h

+ 3 - 0
03/03.pro

@@ -0,0 +1,3 @@
+SOURCES += main.cpp
+HEADERS += main.h
+QT += core

+ 46 - 0
03/main.cpp

@@ -0,0 +1,46 @@
+#include "main.h"
+
+void part1(){
+	QFile input("input.txt");
+	QTextStream strm(&input);
+	if(!input.open(QIODevice::ReadOnly | QIODevice::Text)){
+		qDebug() << "file borked";
+	}
+	int vals[] = {0,0,0,0,0,0,0,0,0,0,0,0};
+	int i = 0;
+	int lines = 0;
+	unsigned short gamma = 0;
+	unsigned short epsilon = 0;
+	qDebug() << gamma;
+	QString line = "";
+	while(!strm.atEnd()){
+		lines++;
+		line = strm.readLine();
+		for (i=0;i<12;i++){
+			vals[i] += (line.toStdString()[i]-'0');
+		}
+	}
+	for(i=0;i<12;i++){
+		if(vals[i] > (lines/2)){
+			gamma +=1;
+		}
+		if(i < 11){
+			gamma <<=1;
+		}
+	}
+	epsilon = ~gamma;
+	epsilon = epsilon & 0b0000111111111111; //bitmask with 0b0000 1111 1111 1111
+	qDebug() << epsilon;
+	qDebug() << gamma;
+	qDebug() << (gamma*epsilon);
+
+}
+
+void part2(){
+}
+
+int main(int argc, char **argv){
+	part1();
+	return 0;
+}
+

+ 8 - 0
03/main.h

@@ -0,0 +1,8 @@
+#include <QDebug>
+#include <QFile>
+#include <QTextStream>
+#include <QByteArray>
+
+int main(int argc, char **argv);
+void part1();
+void part2();