Problemy z tablicą charów
Ostatnio zmodyfikowano 2017-11-26 13:29
Abigail Temat założony przez niniejszego użytkownika |
Problemy z tablicą charów » 2017-11-25 20:59:47 Hej, mam za zadanie napisać funkcję przyjmującą dwa argumenty, pierwszy z nich jest typu wskaźnik na tablicę znaków a drugi będzie maksymalną ilością wyrazów, które będą podlegać poniższemu przetworzeniu. Funkcja ma wypisywać litery o parzystym indeksie tablicy z pierwszych x wyrazów ciągu znaków, gdzie x jest tyle ile podajemy w argumencie numer 2. Jeśli x będzie podane więcej niż ciąg ma wyrazów to wówczas przetworzony w ten sposób ma być po prostu cały ten ciąg. Przykład działania dla ciągu: "Ala ma kota a kot ma Ale" Jeśli funkcję wywołamy np. z argumentem drugim równym 3 to powinna wypisać: Aamoa Stworzyłam coś takiego: #include "stdafx.h" #include <iostream> using namespace std; char tab[ 25 ] = { 'A', 'l', 'a', ' ', 'm', 'a', ' ', 'k', 'o', 't', 'a', ' ', 'a', ' ', 'k', 'o', 't', ' ', 'm', 'a', ' ', 'A', 'l', 'e', '\0' };
int main( int x, char * tab ) { cin.get( tab, sizeof( tab ) ); scanf_s( "%d", x ); for( int i = 0; i < sizeof( tab ); i++ ) { int licznik = 0; do { if( tab[ i ] - 1 == ' ' ) { licznik++; } } while( licznik < x ); if(( licznik == x ) &&( i % 2 == 0 ) ) cout << tab[ i ]; getchar(); return 0; } } Kompilator nie wyrzuca żadnych błędów, ale w konsoli nic nie wyświetla się po podaniu x. Co tu jest źle? |
|
nanoant20 |
» 2017-11-25 22:26:40 |
|
pekfos |
» 2017-11-26 13:29:28 int main( int x, char * tab ) { cin.get( tab, sizeof( tab ) ); scanf_s( "%d", x );
|
To nie jest też poprawna definicja main. Potem też pełno błędów. Warunek bez sensu, potencjalnie nieskończona pętla, return w złym miejscu, itd.. |
|
« 1 » |