wyszukanie pierwszego wystąpienia podanego znaku
Ostatnio zmodyfikowano 2013-10-13 22:28
kaczka Temat założony przez niniejszego użytkownika |
wyszukanie pierwszego wystąpienia podanego znaku » 2013-10-13 20:57:34 Witam! Utworzyłem tablicę typu char składającą się z 51 elementów (a,b,c,d..a,b,c..itd) I teraz mam problem z funkcją która przyjmuje jako argument daną typu char(literke podana prze uzytkownika) oraz wskaźnik do wcześniej utworzonej tablicy. Zadaniem funkcji miałoby być wyszukanie pierwszego wystąpienia podanego znaku w zadanej tablicy i zwrócenie (int) pozycji na której ten znak( podany przez uzytkownika) wystąpił. Wyskakuje mi błąd, że nie można porównywać zawartosci wskaźnika i chara. #include <iostream> #include <string.h>
using namespace std;
int wyszukiwanie( char c_znak, char * wsk[] ) { cout << "Podales znak: " << c_znak << endl; for( int i = 0; i < 51; i++ ) if( c_znak == wsk ) { cout << "trafiles" << endl; } wsk++; }
void wypelnianie( char tekst[] ) { int i = 0; for( char znak = 'a'; i < 26; i++, znak++ ) { tekst[ i ] = znak; } int b = 0; for( char znak = 'a'; b < 26; b++, znak++ ) { tekst[ 26 + b ] = znak; } }
int main() { char tekst[ 51 ]; char * wsk; wsk = tekst; wypelnianie( tekst ); cout << "Podaj znak od a do z" << endl; char znak; cin >> znak; wyszukiwanie( znak, & wsk ); }
|
|
pekfos |
» 2013-10-13 21:02:35 Wyskakuje mi błąd, że nie można porównywać zawartosci wskaźnika i chara. |
I nie wiesz, gdzie jest błąd? |
|
seprob |
» 2013-10-13 22:28:50 #include <iostream>
using namespace std;
int search( char literka, char * tab, int rozmiar );
int main() { char tab[] = { 'a', 'b', 'c' }; search( 'b', tab,( sizeof( tab ) / sizeof( tab[ 0 ] ) ) ); }
int search( char literka, char * tab, int rozmiar ) { for( int i = 0; i < rozmiar; i++, tab++ ) { if( * tab == literka ) { cout << "Trafiles na pozycji nr " <<( i + 1 ) << "." << endl; return i; } } }
|
|
« 1 » |