00Andre |
» 2014-06-12 20:49:07 To każdej chwili można zmienić czy na wyczytanie, czy na normalną tablice, nie ma problemu. Czemu według ciebie 2/3 to nie ma sensu ? I czemu !plik.eof() nie jest poprawne ? |
|
pekfos |
» 2014-06-12 20:53:42 Czemu według ciebie 2/3 to nie ma sensu ? I jak mam określić ilość lin zapełnionych zapisanych w pliku ? |
Np prawie tak, jak zrobiłeś. Tylko nigdzie nie używasz tej wartości. Stąd 2/3 samego fora jest bez sensu, a resztę można zapisać w while. |
|
00Andre |
» 2014-06-12 20:56:06 Jak nie używam ? To po co to wyczytałem do vector'a typu string ? Po to aby potem każdy znak przydzielić do tablicy dwuwymiarowej typu char, jeśli bym jakieś nie używał to bym jej nie deklarował ;)
// Edit A to czy pętla for czy while to zależy od każdego innego, mi bardziej jest wygodniej używać pętle for niż while, a po for to do..while ;) |
|
pekfos |
» 2014-06-12 21:04:29 A to czy pętla for czy while to zależy od każdego innego, mi bardziej jest wygodniej używać pętle for niż while |
Nawet jak piszesz bez sensu, to jest wygodniej niż z sensem? for( unsigned a = 0; !plik.eof(); a++ )
Gdzie używasz tego a..? |
|
00Andre |
» 2014-06-12 21:15:23 Nie używam tego a, a ta zmienna jest dla tylko pętli a potem jej nie ma, więc nie wiem po co się przejmować, oczywiście mogłem to lepiej napisać, ale , że ja użyłem zmienną a w petli for i jej nie używam to jest wielki problem ... |
|
MrKreistos Temat założony przez niniejszego użytkownika |
» 2014-06-16 23:27:45 Ja mam jeszcze bardziej zagmatwane. To jest już cały program z wykorzystaniem stringów, ale [Error] ld returned 1 exit status więc prosiłbym o przejrzenie kodu. #include<iostream> #include <conio.h> #include<cstdlib> #include<string> #include<cstring>
using namespace std;
int change( string text, string klucz, string szyk, int length1, int length2 ); char numer( char text, char klucz ); int liczba( int znak ); char litera( int znak );
using namespace std; int main() { using namespace std; string klucz; int length1; cout << "podaj klucz: "; getline( cin, klucz ); length1 = klucz.length(); string szyk; cout << "podaj szyk: "; cin >> szyk; string text; int length2; cout << "podaj tekst: "; getline( cin, text ); length2 = text.length(); cout << text; change( text, klucz, szyk, length1, length2 ); system( "pause" ); return 0; }
int change( string text, string klucz, int szyk[], int length1, int length2 ) { char output1[ length2 ]; char output2[ length2 ]; short int numer_klucza = 0; for( int i = 0; i < length2; i++ ) { output1[ i ] = text[ i ]; numer_klucza = i % length1; output2[ i ] = numer( output1[ i ], klucz[ i % length1 ] ); cout << output2; } return 0; }
char numer( char text, char klucz ) { int numer; numer = liczba( text ) + liczba( klucz ); return numer; }
int liczba( char znak ) { int liczba; switch( znak ) { case 32: liczba = 0; break; case 97: liczba = 1; break; case 98: liczba = 2; break; case 99: liczba = 3; break; case 100: liczba = 4; break; case 101: liczba = 5; break; case 102: liczba = 6; break; case 103: liczba = 7; break; case 104: liczba = 8; break; case 105: liczba = 9; break; case 106: liczba = 10; break; case 107: liczba = 11; break; case 108: liczba = 12; break; case 109: liczba = 13; break; case 110: liczba = 14; break; case 111: liczba = 15; break; case 112: liczba = 16; break; case 113: liczba = 17; break; case 114: liczba = 18; break; case 115: liczba = 19; break; case 116: liczba = 20; break; case 117: liczba = 21; break; case 118: liczba = 22; break; case 119: liczba = 23; break; case 120: liczba = 24; break; case 121: liczba = 25; break; case 122: liczba = 26; break; } return liczba; }
char litera( int znak ) { char litera; switch( znak ) { case 0: litera = 32; break; case 1: litera = 97; break; case 2: litera = 98; break; case 3: litera = 99; break; case 4: litera = 100; break; case 5: litera = 101; break; case 6: litera = 102; break; case 7: litera = 103; break; case 8: litera = 104; break; case 9: litera = 105; break; case 10: litera = 106; break; case 11: litera = 107; break; case 12: litera = 108; break; case 13: litera = 109; break; case 14: litera = 110; break; case 15: litera = 111; break; case 16: litera = 112; break; case 17: litera = 113; break; case 18: litera = 114; break; case 19: litera = 115; break; case 20: litera = 116; break; case 21: litera = 117; break; case 22: litera = 118; break; case 23: litera = 119; break; case 24: litera = 120; break; case 25: litera = 121; break; case 26: litera = 122; break; } return litera; }
W miarę możliwości tłumaczcie łopatologicznie bo nie jestem jakoś zbyt zaawansowany w cpp. |
|
Glazus |
» 2014-06-17 14:46:49 Nie używam tego a, a ta zmienna jest dla tylko pętli a potem jej nie ma, więc nie wiem po co się przejmować, oczywiście mogłem to lepiej napisać, ale , że ja użyłem zmienną a w petli for i jej nie używam to jest wielki problem ... |
Więc po co jej użyłeś? Każda zmienna zajmuje pamięć, każda operacja na zmiennej zajmuje czas. A Ty tworzysz zmienną której nawet nie używasz i jeszcze na niej operujesz ( a++ ). Nie po to powstawały różne funkcje, byś do wszystkiego wykorzystywał for . Forem możesz zastąpić na dobrą sprawę także if i inne - pytanie po co? Jak to powiedział kiedyś jeden z moich prowadzących (przedmiot zupełnie z programowaniem niezwiązany, ale myśl w każdej inżynierskiej dziedzinie dobra) "po co tworzyć byty niepotrzebne?". |
|
pekfos |
» 2014-06-21 15:46:40 [Error] ld returned 1 exit status |
To jedyny błąd..? Z całego zbioru błędów podałeś ten najbardziej bezużyteczny, brawo. |
|
1 « 2 » 3 |