|
![]() |
#1 |
Registered User
Datum registracije: May 2010
Lokacija: Slavonski Brod
Postovi: 4
|
Pomoć za C++
ovako, prvo isprika što mi je prvi POST pomoć, a ne predstavljanje ili nešto drugo (pomoć drugima), ali evo obećajem da ću uskoro i to srediti, samo što mi je ovo hitno! ovako, trebam napraviti program u C++ koji će a) upisati rečenicu i svaku riječ staviti u novi red, a rečenica će završiti unosom točke. ima pod b,c i d....ali za sada s ovim ću biti zadovoljan, evo ja sam pokušao i kompajlirao, ali nisam dobio dobro rješenje..... a za one koji ne znaju...getche(); funkcija je posebna funkcija u conio.h biblioteci, koja upisuje sve što je uneseno sa tipkovnice (get char echo) (to kažem jer biblioteka nije u standardu C i C++ jezika.) ako netko ima bolje rješenje od getch(); kao što sam vidio nešto keystrokes(); i slično nešto, bio bih zahvalan. hvala puno unaprijed!! Code:
#include <stdlib.h> #include <stdio.h> #include <conio.h> #include <string.h> int upis(char r[]) { int n; puts("Upisite recenicu"); do { r[n]=getche(); n++; if (r[n-1] == ' ') //provjera praznog mjesta printf ("\n"); } while (r[n-1] != '.'); r[n]='\0'; //oznaka kraja niza znakova return n; } main() { char r[]={}; int n; n=upis(r); printf("%s",n); system("pause"); } |
![]() |
![]() |
![]() |
#2 |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,714
|
Rješenje tvoga problema. Kod dinamički pregleda upisano znak, te po tvojim uvjetima odredi šta da radi s njim. Code:
#include <stdio.h> #include <conio.h> int main() { char unos="a"; while(1) { unos=getch(); //ucitavam slovo if(unos== ' ') //gledam da li je razmak { printf("\n"); } else if(unos== '.')//ako je točka, ispisuje je i izlazi iz petlje. { printf("."); printf("\n"); break; } else //inače, ispisujem slovo { printf("%c",unos); } } return 0; }
__________________
"Who is your daddy and what does he do?" |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
#3 |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,714
|
A ovo je ako trebaš upisati cijelu rečenicu prvo. ![]() Code:
#include <stdio.h> #include <conio.h> int main() { char recenica[1000]; char unos="a"; int brojac = 0, i; printf("Upisite recenicu: "); while(1) //upisuje se prvo recenica { unos=getche(); recenica[brojac]=unos; if(unos== '.') { printf("\n"); brojac++; break; } else { brojac++; } } for(i=0;i<brojac;i++) { unos=recenica[i]; if(unos== ' ') //gledam da li je razmak { printf("\n"); } else if(unos== '.')//ako je točka, ispisuje je i izlazi iz petlje. { printf("."); printf("\n"); break; } else //inače, ispisujem slovo { printf("%c",unos); } } return 0; }
__________________
"Who is your daddy and what does he do?" |
![]() |
![]() |
![]() |
#4 |
Registered User
Datum registracije: May 2010
Lokacija: Slavonski Brod
Postovi: 4
|
odg
da, ova druga varijanta, sve radi!!!!! dužnik sam ti, hvala puno!!!!!!!!!!!!! ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() s tim da prijatelju ovo unos='a' -> dakle moraju biti jednostruki navodnici i char recenica[]={}; ovako ce biti manje memorije zauzeto, kada racunalo samo odredi koliko je treba ![]() Zadnje izmijenjeno od: white34gle. 03.05.2010. u 22:19. |
![]() |
![]() |
![]() |
#5 |
Registered User
Datum registracije: Mar 2010
Lokacija: Brisel
Postovi: 44
|
A evo i rješenje na zadani problem u duhu jezika C++: Code:
#include <iostream> #include <string> #include <sstream> using namespace std; int main() { string recenica; getline(cin,recenica,'.'); stringstream strTok(recenica); string rijec; while(strTok >> rijec) cout << rijec << endl; } |
![]() |
![]() |
![]() |
#6 |
PRO
Datum registracije: Apr 2010
Lokacija: Zagreb
Postovi: 4,714
|
__________________
"Who is your daddy and what does he do?" |
![]() |
![]() |
![]() |
#7 |
Registered User
Datum registracije: May 2010
Lokacija: Slavonski Brod
Postovi: 4
|
hvala Petre, istina da ne kužim ama baš ni 2 naredbe u kompletu xD ali potrudit ću se ![]() |
![]() |
![]() |
|
|
Oglas
|
|
![]() |
|
|