|
|||||||||||
|
|
#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,853
|
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,853
|
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 23: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,853
|
__________________
"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
|
|
![]() |
|
|