Cześć.
Mam problem z projektem, który muszę stworzyć na strukturach/tablicach w języku C.
Nie mam pomysłu jak zacząć i jak powinny wyglądać struktury przy tym wypadku. (Znam niestety tylko podstawy języka, a wykładowca na pierwszym roku rzucił nas na głęboką wodę). Liczę na pomoc lub podpowiedzi . Zadanie w linku https://iv.pl/images/41028044907527009459.png
- Rejestracja:około 6 lat
- Ostatnio:ponad 5 lat
- Postów:2
- Rejestracja:ponad 9 lat
- Ostatnio:około miesiąc
- Postów:316
Możesz zrobić tablicę takich struktur:
char name = 'A'
char zero = 'B'
char one = 'C'
I w name nasz nazwę wierzchołka, zero gdzie przechodzisz pod wpływem zera, one gdzie pod jedynką. Startujesz w ustalonym miejscu później tylko skaczesz po tablicy i wypisujesz name.

- Rejestracja:prawie 11 lat
- Ostatnio:prawie 3 lata
- Postów:66
#define MaxItem 20
struct ItemST{
int ID_0, // ID wire 0 - false
ID_1; // ID wire 1 - true
char MyChar;// Char in Vertex
}Items[MaxItem];// Vertex Array
char String[10]={1011000110}; // "Road"
char Return[10]; // Return :)
int ID; // Selected Vertex ID
if(String[i]=="1")
ID=Items[ID].ID_1;
Return[i]==Items[ID].MyChar;
else
ID=Items[ID].ID_0;
Return[i]==Items[ID].MyChar;
Nie testowałem tego i zapewne ma sporo błędów
ponieważ problem twój jest nieco rozwinięty
dlatego wymagałby większej ilości kodu niż
jakieś 4/5 linijek a ponad tę ilość jestem
strasznie leniwy i nie chce mi się tego robić :)
Osobiście zachował... zachowuję się tak jak twój
nauczyciel, ponieważ to najlepszy sposób na nauke
ale nie martw się już nie nauczam :)
więc nie trafiłeś na swojego nauczyciela xD
Mniej więcej masz tu kilka podpowiedzi :x...
wystarczy uzupełnić brakujący kod i poprawić
parę błędów które pewnie są...
Edit:
#include <iostream>
struct ItemST{ // Seksowna struktura <3
short ID_0, // ID do Vertexa jesli znak to 0
ID_1; // ID do Vertexa jesli znak to 1
char MyChar; // Skopiowałem łączenia z twojego obrazka
}Item[8]={
{1,3,'A'}, // pierwszy vertex <3
{2,6,'B'},
{3,7,'C'},
{4,6,'D'},
{5,0,'E'},
{7,2,'F'},
{7,5,'G'},
{0,3,'H'},
};
int main()
{
char String[255]; // tu masz przechowywany ciag 010101010
char Return[255]; // tu masz ciag liter po przetworzeniu 0101
std::cout<<" -= Max Size: 255 =- "<<std::endl;
std::cout<<" .-= Enter String(0/1): ";std::cin>>String;
int ID=0; // ID obecnie wybranego vertexa na start ID 0
int i=0; // po prostu I <3
while((String[i]=='1')||(String[i]=='0'))
{
switch(String[i])
{
case '1':
Return[i] = Item[ID].MyChar;
ID = Item[ID].ID_1;
break;
case '0':
Return[i] = Item[ID].MyChar;
ID = Item[ID].ID_0;
break;
}
i++;
}
std::cout<<Return;
}
Hyba działa :3...
The Meow !...
Nie poprawiaj tego błędu ort. !
//Edit:
nic nie napisales przez cały dzień dlatego dałem ci na wszelki wypadek gotowca :)
i tak nie mam nic do roboty xD
'1'
a nie"1"
. Pomieszałeś niecoi
iID
. brak pętli może być niezrozumiały.