pawqo Posted November 3, 2009 Report Share Posted November 3, 2009 Witam, musze napisac program ktory czyta wszystkie znaki, a na ekranie powtarza tylko duze litery oraz znaki nowej linii. Program zlicza takze ile znakow cyfr wpisano. Program konczy czytanie, gdy napotyka znak konca zbioru wejsciowego ( ctrl-Z). Wypisuje wowczas ilosc wczytanych cyfr. Podkreslam rowniez, ze rozwiazanie nie powinno wiazac sie z tablicami, ani stringami, gdyby nie ten warunek, to jakos udaloby mi sie to chyba napisac ;/ Jedynym wyjsciem jakie widze, jest sprawdzanie kodow ASCII kazdego ze znaku, jezeli miesci on sie w zakresie A-Z oraz enter'a, to wypisuje te znaki na ekran, a w przypadku cyfr dodaje stopniowo 1 do licznika. Niestety kompletnie nie wiem w jaki sposob, badac pojedyncze znaki z calosci wprowadzonego tekstu, moze ktos moglby to w miare logicznie wyjasnic? Do tej pory udalo mi sie napisac cos takiego: CODE#include<iostream> using namespace std; int main () { char znak; int licznik=0; int n; cin >> znak; while((n=getchar())!= EOF) { if ( ((int)znak >= 65) && ((int)znak <= 90)) cout << znak; if ( ((int)znak >= 48) && ((int)znak <= 57)) licznik++; } cout << "Ilosc wpisanych cyfr: " << licznik <<endl<<endl; system("PAUSE"); return 0; } Jednak program nie dziala tak jak powinien ;/ przy zliczaniu cyfr, dziala w miare poprawnie tylko gdy pierwsza wprowadzona zostala cyfra, gdy nie sa one odzielone spacjami ani enterami.. Link to comment Share on other sites More sharing options...
Guest Gelldur Posted November 3, 2009 Report Share Posted November 3, 2009 podczas wczytywania sprawdzaj kolejno jaki to znak i zapisuj sobie wyniki pod koniec wczytywania wypisz je Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.