Я пытаюсь написать программу, которая берет найденные слова в поиске слов и использует их заглавные буквы, но мне очень трудно сравнивать мой файл головоломки с моим списком
Ниже "List1.txt "
dog
call
ball
small
fall
paw
saw
draw
log
joy
red
who
ink
led
rim
door
Ниже" Puzzle1.txt "
f v c b s j v m e y
a j a k s d u y t l
l m l d y e o w k i
l p l x r j h k n b
b a l l i a w o i z
s s a w m x w p a w
o m j d r k o l x d
z k a e a h d j o y
w q v l q q e o p g
m d c z l q r h g h
... И, наконец, ниже то, что у меня есть, но я так застрял
В первом цикле for, который предназначен для головоломки, я не могу заставить его правильно ввести список в массив 2d, он всегда просто заполняет массив тем, что последний символ видит.
Во-вторых, в третьем наборе циклов, где находится решающая часть, я совершенно не понимаю, как правильно сравнивать слова во всех направлениях.Моей первой мыслью было сравнить первые символы слов List1.txt с загадкой, пока я не нашел совпадение, а затем я смотрел в каждом направлении, эквивалентном длине слова List1, и смотрел, совпадет ли оно.
После того, как я понял, сколько разных вещей я испортил, я решил просто перезапустить решатель, используя другой метод, который я пытался начать строить ниже.Я пытался просмотреть массив 2d по длине за раз, длина - это длина слова List1, и посмотреть, было ли это совпадение вперед или назад.Если бы не я, я бы просто прошел один ряд и взял эти 3 или 4 символа, отбросив первую букву и добавив еще один в конец того, что я пытался сравнить.
Это привело меня к векторам!Я помню, как узнал о векторах, и я пытался их использовать, но опять застрял, растерялся и ошеломлен.Я нашел здесь несколько постов, которые мне немного помогли, но не достаточно.
На данный момент, мне действительно все равно, какой метод используется, если я надеюсь узнать что-то новое: DНадеюсь, я предоставил достаточно информации.
#include<conio.h>
#include<iostream>
#include<istream>
#include<string>
#include<fstream>
using namespace std;
void main() {
ifstream in;
ofstream out;
string throwawaystr="", word[16];
int counter = 0, counter2 = 0, rows = 10, columns = 10, buffer = 0;
char charVar, arr[10][10];
//-//-//-//-( \/PUZZLE\/ )-//-//-//-//
in.open("Puzzle1.txt");
while (!in.eof()) { //input 2d array
in >> charVar;
for (int y = 0; y < columns; y++) {
for (int x = 0; x < rows; x++) {
arr[x][y] = charVar;
}
}
}
in.close();
cout << "Puzzle:" << endl;
for (int y = 0; y < columns; y++) {
for (int x = 0; x < rows; x++) {
cout << arr[x][y];
}
cout << endl;
}
cout << endl;
//-//-//-//-( \/LIST\/ )-//-//-//-//
in.open("List1.txt");
while(!in.eof()){
in >> word[counter2];
counter2++;
}
in.close();
cout << "List:" << endl;
for (int x = 0; x < counter2; x++) {
cout << word[x] << endl;
}
cout << endl;
//-//-//-//-( \/SOLVER\/ )-//-//-//-//
for (int z = 0; z < word[z].length(); z++) {
for (int y = 0; y < columns; y++) {
for (int x = 0; x < rows; x++) {
while (throwawaystr.length() >= word[z].length() && buffer > (columns - word[z].length())) {
throwawaystr += arr[x][(y+buffer+word[z].length())];
}
}
}
}
system("pause");
}