nazwie. Plik jest zapisany alfabetem łacińskim (bez znaków diakrytyzowanych). Program wczytuje nazwę
pliku z linii poleceń (po przełączniku
-i
) i zapisuje wynik do pliku, którego nazwa jest podana po przełączniku -o
. Przykładowe wywołanie programu:
Kod: Zaznacz cały
program.exe -o wyjscie -i wejscie
Kod: Zaznacz cały
#include "stdafx.h"
#include<iostream>
#include<fstream>
#include<string>
using namespace std;
/*skrót działania:
funkcja odczytująca pliki odczytu i zapisu
funkcja sprawdzająca poprawność wczytanych plików i zwracająca iformację
funkacja licząca dwuznaki w danym pliku
funkcja zapisaująca dane do pliku końcowego*/
string input(string tabk[1][2])
{
string pliko, plikz;
cout << "-o "; cin >> plikz; cout << endl;
cout << "-1 "; cin >> pliko; cout << endl;
string tabk[1][2] = { "pliko", "plikz" };
return tabk[1][2];
}
string check(string & pliko, string & plikz, fstream &plik)
{
bool p1=0, p2=0;
fstream plik;
void open (const char*plik, ios_base::openmode in);
plik.open("pliko", ios::in);
if (plik.good() == true) { p1 == 1; }
plik.close();
void open(const char*plik, ios_base::openmode out);
plik.open("plikz", ios::out);
if (plik.good() == true) { p2 == 1; }
plik.close();
if (p1 == 0) { cout << "Plik zapisu nie istnieje, spóbój jeszcze raz" << endl; cout << "-o "; cin >> pliko; check( & pliko, & plikz); }
if (p2 == 0) {cout << "Plik odczytu nie istnieje, spóbój jeszcze raz" << endl; cout << "-1 "; cin >> pliko; check( & pliko, s& plikz);}
return "pliko", "plikz";
}
double search()
{
double dw = 0;
double result1, result2;
fstream plik("plikz", std::ios::in);
string dane;
getline(plik, dane);
char y = dane.length();
y = result1;
char d = y, z = 0;
char tab[100000000000];
char tab2[100000000000];
for (int j = 0; j < d; j++)
{
for (int i = 0; i < d; i++)
{
tab[j] = dane[z];
tab2[i] = dane[z - 1];
if (dane[z - 1] == "c")
{
if (dane[z] == "") { dw++; }
if (dane[z] == "k") { dw++; }
if (dane[z] == "s") { dw++; }
if (dane[z] == "z") { dw++; }
if (dane[z] == "i") { dw++; }
}
if (dane[z - 1] == "d")
{
if (dane[z] == "z") { dw++; }
if (dane[z] == "ż") { dw++; }
if (dane[z] == "ź") { dw++; }
if (dane[z] == "z") { dw++; }
if (dane[z] == "z"& dane[z + 1] == "i") { dw++; }
}
if (dane[z - 1] == "g")
{
if (dane[z] == "l") { dw++; }
if (dane[z] == "h") { dw++; }
}
if (dane[z - 1] == "l") { if (dane[z] == "y") { dw++; } }
if (dane[z - 1] == "p") { if (dane[z] == "h") { dw++; } }
if (dane[z - 1] == "q") { if (dane[z] == "u") { dw++; } }
if (dane[z - 1] == "t") { if (dane[z] == "h") { dw++; } }
if (dane[z - 1] == "x") { if (dane[z] == "h") { dw++; } }
if (dane[z - 1] == "c") { if (dane[z] == "i") { dw++; } }
if (dane[z - 1] == "n")
{
if (dane[z] == "g") { dw++; }
if (dane[z] == "y") { dw++; }
if (dane[z] == "i") { dw++; }
}
if (dane[z - 1] == "n")
{
if (dane[z] == "g") { dw++; }
if (dane[z] == "y") { dw++; }
}
if (dane[z - 1] == "s")
{
if (dane[z] == "h") { dw++; }
if (dane[z] == "c") { dw++; }
if (dane[z] == "z") { dw++; }
if (dane[z] == "i") { dw++; }
}
if (dane[z - 1] == "z")
{
if (dane[z] == "h") { dw++; }
if (dane[z] == "s") { dw++; }
if (dane[z] == "i") { dw++; }
}
if (dane[z - 1] == "r")
{
if (dane[z] == "z") { dw++; }
}
}
z++;
}
double tab3[2] = { result1, dw };
return tab3[2];
}
int main()
{
string tabk[1][2], pliko, plikz;
fstream plik;
input(tabk[1][2]);
tabk[1] = pliko;
tabk[2] = plikz;
check( pliko, plikz, plik);
search();
}
błędy, co do których przeszukałam całe google brzmią następująco:
Kod: Zaznacz cały
Error C2446 '==': no conversion from 'const char *' to 'int'
Error C2664 'std::string input(std::string [][2])': cannot convert argument 1 from 'std::string' to 'std::string [][2]'
Error (active) initial value of reference to non-const must be an lvalue
Error (active) too few arguments in function call
Error (active) operand types are incompatible ("char" and "const char *")
Error (active) no suitable conversion function from "std::string" to "std::string (*)[2]" exists
Error C2082 redefinition of formal parameter 'tabk' Projekt1
Error C2660 'check': function does not take 2 arguments
Error C2660 'check': function does not take 1 arguments
Warning C4267 'initializing': conversion from 'size_t' to 'char', possible loss of data
Warning C4244 '=': conversion from 'double' to 'char', possible loss of data
Error C2446 '==': no conversion from 'const char *' to 'int'
Warning C4554 '&': check operator precedence for possible error; use parentheses to clarify precedence
Poza oczywiście resztą, która wychodziprzy debuggowaniu, ale których nie miałam jeszcze jak poprawić
Serdecznie proszę mnie poprawić i oświecić