C++ zadatci

poruka: 37
|
čitano: 19.821
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
12 godina
neaktivan
offline
zadaci u c++
hola programeri, imam problem, dobio zadatke od profesora i trebam ih uraditi, prevrnuo net nigdje ne nađoh takve, postao na par foruma al nitko ne zeli da cuje, google me doveo i vama...

naime treba mi rjesit par zadataka, pa ako se nađe netko da bi pomogao, plaćam pivu:-D

evo tu su pa ako se netko ima volje pomoci studentu da upise trecu godinu:

1. Napisati program koji unosi recenicu i onda ispisuje sve rijeci te recenice i ako je pojedina rijec palindrom ispise pokraj nje palindrom inace ispise nije palindrom.

2. Napisati program koji unosi znakove sve dok neki znak ne unesemo cetiri puta, a zatim u posebnim funkcijama nalazi znak sa najmanjim ASCII kodom, prosjek ASCII kodova unesenih znakova i sortira znakove.

3.Napisi program koji unosiznakove sve dok prosjek njihovih ASCII kodova ne pređe 80, a zatim u posebnim funkcijama izracunava prosjek ASCII kodova onih znakova koji su velika slova te racuna broj samoglasnika.

4. Napisi program koji unosi realne brojeve sve dok ne unesemo tri puta broj sa istim decimalnim dijelom, a zatim u posebnim funkcijama nalazi produkt brojeva sa neparnim cijelim dijelom te broj sa najmanjim decimalnim dijelom.
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

koliko i šta si napisao?

u kojem jeziku si pisao i na kojoj platformi?

Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatci

Zadaću ti mi riješiti nećemo, ali ako imaš konkretni problem/pitanje pucaj.

Moj PC  
3 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

 

ubacio bih dio ovog treceg al ne vidim kako da bude u codetagu{#}

 

Poruka je uređivana zadnji put pet 23.9.2011 19:59 (sisa55).
Moj PC  
0 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

 

 

#include <cstdlib>#include <iostream>#include <string>using namespace std;
int main()
{
string rec;int x,i,N;cout<<"Unesite recenicu: "<<endl;getline(cin,rec);N=rec.size();char *niz = (char*)rec.c_str();for(x=0; x<N; x=x+1){
   if(niz[x] == ' '){
      cout<<endl;
      }       else{        cout<<niz[x];        }
}
  cout<<endl;     system("PAUSE");  return 0;}

 

 

 

ovo je dio iz prvog s obrtaljkom ali mi fali jos

 

 

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Za prvi napišeš bool funkciju IsPalindrome(const string& recenica).

U funkciji kroz prvu petlju eliminiraš razmake, na način da dobiješ novi string operatorom +=.

Kroz drugu petlju prođeš novi string za pola njegove duljine da provjeriš da li su isti elementi na komparativnim pozicijama isti - ako nisu return false - prekida se petlja i izlazi iz funkcije.

Ako su char znakovi u stringu na komparativnim pozicijama isti - petlja se vrši do kraja, a funkcija vraća true.

Ključni algoritam je:

if(tolower(string[i]) != tolower(string[string.length()-1-i]))

 

Sad imaš ključne stvari - pokušaj napisati - ako zapneš - netko će uskočiti.

 

 
0 0 hvala 0
15 godina
neaktivan
offline
C++ zadatci

Samo napravi petlju koja ide slovo po slovo po recenici i ako slovo nije razmak dodaj ga u drugi string, dok dodes do drugog razmaka u 3. string kopiraj riječ obrnutim redosljedom slova i provjeri ako su iste (tako saznajes dali je palindrom), i onda ispises rijec i ispraznis taj prvi string i ides ispocetka.

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Može napraviti i ovu funkciju:

 

bool IsPalindrom(const string& rijec)
{
    for(int i=0; i<rijec.length(); i++)
    {
       if(tolower(rijec[i]) != tolower(rijec[rijec.length()-1-i]))
       {
          return false;
       }
    }
    return true;
}

 
1 0 hvala 1
15 godina
neaktivan
offline
C++ zadatci

Ma ovak ubijes dvije muhe jednim udarcem i petljom.

Moj PC  
1 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

+ jedno kopiranje stringa više

ali ok - prolazi

 
1 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Ovaj drugi:

deklariramo int polje[128] = {0}

petljom while unosimo char znak

polje[(int)znak]++;

if(polje[(int)znak] > 3 - prekid while petlje

 

iz ovoga znak sa najmanjim ascii kodom - prvi u polju različit od nule

sortirani unos - ispis polja sa uvjetom da preskoči nule

Poruka je uređivana zadnji put sub 24.9.2011 17:39 (Floki).
 
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Treći: unosi znakove sve dok je prosjek njihovih ascii kodova manji od 80

pretpostavljam da mogu unijeti na početku i znak koji ima veći ascii kod od 80 - a da prosjek računam od minimum dva znaka

ako je tako onda može ovo:

int prosjek = 0;

char znak;

int suma;

cin>> znak;

suma = (int)znak;

brojUnosa = 1;

 

while(prosjek<80)

{

    brojUnosa++;

    cin>>znak;

    suma += (int)znak;

    prosjek = suma / brojUnosa;

}

prosjek ascii kodova velikih slova - izdvojiti one koji imaju kodove između 65-90

samoglasnike riješiti if petljama

if(znak == 'a' || znak == 'A') brojSamoglasnika++;

Poruka je uređivana zadnji put sub 24.9.2011 20:38 (Floki).
 
0 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

tnx decki, danas sam pao, ali imam jos sansu na dekanskom

Moj PC  
1 0 hvala 0
15 godina
neaktivan
offline
C++ zadatci
Pa mogao si reci da ti ocjena visi o tome, sigurno bi se vise potrudili.
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: C++ zadatci
sisa55 kaže...

tnx decki, danas sam pao, ali imam jos sansu na dekanskom

Ovdje imaš sve što je potrebno za prva tri - kreni - gdje zapneš - pomoć ćeš dobiti

Što se tiče četvrtog - evo ti način razdvajanja decimalnog od cijelog dijela double broja

double broj = 57.352;

int cijeliDio = (int)broj;

double decimalniDio = broj - cijeliDio

 

Dakle ako tri puta za redom uneseš isti decimalniDio povećaš brojač i zaustaviš petlju while kojom vršiš unos

neparni cijeli dio provjeriš na način if(cijeliDio % 2) suma *= cijeliDio;

 

a najmanji decimalni dio možeš dobiti ovako:

na početku kod deklaracije double min = 0;

zatim u kodu if(decimalniDio < min) min = decimalniDio

Poruka je uređivana zadnji put sub 24.9.2011 20:34 (Floki).
12 godina
neaktivan
offline
C++ zadatci

floki pomagaj{#}

 

evo ispit danas u tri a meni jos uvijek nije jasno gdje da ubacim onu tvoju funkciju, ova ostala tri sam rjesio samo mi ostao ovaj s palindromom

 

gdje god sam ubacio tu tvoju funkciju u moj zadatak izbaci mi error

 

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Daj kod

 
0 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

prvi dio koda sam napisao  pri vrhu teme a onda si mi ti dao funkciju:  bool IsPalindrom(const string& rijec)

 

 

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Radi, evo vidi:

 

 

#include<iostream>
using namespace std;

bool IsPalindrom(const string& rijec)
{
    for(int i=0; i<rijec.length(); i++)
    {
       if(tolower(rijec[i]) != tolower(rijec[rijec.length()-1-i]))
       {
          return false;
       }
    }
    return true;
}
int main()
{
    string rijec = "anam";
    if(IsPalindrom(rijec))
    {
       cout<< "Palindrom";
    }
    else
    {
       cout<< "Nije palindrom";
    }
    getchar();
    return 0;
   
   
}

 

 A moraš još riješiti razmake, riješi ih u mainu kad ti je frka za vrijeme

Poruka je uređivana zadnji put pon 24.10.2011 13:42 (Floki).
 
0 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

kad ovaj dio koda ubacim sam i kompajlam samo me izbaci iz onoc crnog prozorcica, i jos jedno glupo pitanje, jel sad samo ovo zadatak ili ga trebam spojiti s onim mojim djelom, ako trebam kako, hvala

Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Zaseban ti je i ovo ti mora raditi.

samo ubaci getchar() kao ja gore.

Poruka je uređivana zadnji put pon 24.10.2011 13:42 (Floki).
 
0 0 hvala 0
12 godina
neaktivan
offline
C++ zadatci

sad samo izbacuje poruku "nije palindrom" 

Poruka je uređivana zadnji put pon 24.10.2011 13:45 (sisa55).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
C++ zadatci

Evo ti cijeli kod kad si se već pozvao na moj metod,(hebemu patka, za onaj moj kod bi dobio asa ka kuća, ono je ogledni primjerak bez isključivanja razmaka, kad nećeš ništa sam, i to pita u zadnji čas)

samo pazi da te profa ne zaskoči, sumnjam da će itko uportijebiti string niz, svi će raditi sa charom.

 

#include<iostream>
#include<sstream>
using namespace std;

bool IsPalindrom(const string& rijec)
{
    string rijecZaProvjeru = "";
    const char razmak = ' ';
    for(int i=0; i<rijec.length(); i++)
    {
       if(rijec[i] != razmak)
          rijecZaProvjeru += rijec[i];
    }
    for(int i=0; i< rijecZaProvjeru.length()/2; i++)
    {
       if(tolower(rijecZaProvjeru[i]) != tolower(rijecZaProvjeru[rijecZaProvjeru.length()-1-i]))
       {
          return false;
       }
    }
    return true;
}
int main()
{
    string rijec;
    cout<< "Unesi recenicu" << endl;
    getline(cin, rijec);
    if(IsPalindrom(rijec))
    {
       cout<< "Palindrom";
    }
    else
    {
       cout<< "Nije palindrom";
    }
    getchar();
    return 0;
   
   
}

Poruka je uređivana zadnji put pon 24.10.2011 14:55 (Floki).
 
0 0 hvala 1
16 godina
neaktivan
offline
Re: C++ zadatci
sisa55 kaže...

sad samo izbacuje poruku "nije palindrom" 

A što će ti drugo izbacivati, pogledaj kod

(baš me ljutiš, da to ne izbacuje, onda bi bio problem)

ma isto bi ja tebe malo ispitao na profinom mjestu, npr.

kolega , zašto ste stavili rijecZaProvjeru += rijec[i];

a ako on neće pitati, njegova greška, ne moja

perem ruke{#}

Poruka je uređivana zadnji put pon 24.10.2011 14:41 (Floki).
13 godina
neaktivan
offline
C++ zadatci

Pozdrav, jel bi mogao netko riješiti, ali s printf i scanf, ili puts i gets, ne cout, getline i te funkcije, jer ih ne razumijem i nisu mi dopuštene na ispitu, a zadatak je: treba unijeti rečenicu, provjeriti je li palindrom i onda ju ispisati

 
1 2 hvala 0
12 godina
neaktivan
offline
Re: C++ zadatci

Ovaj forum nije u službi rješavanja nečijih domaćih zadaća. Svatko od nas ima i pametnijeg posla nego raditi za druge koji bi da im se sve pruži na pladnju. Ako tražiš pomoć tada se prvo očekuje da pokažeš trud koji si prethodno sam uložio da riješiš zadatak. Znači, prikažeš na čemu si točno zapeo, koji dio programa/koda ti je problem za napisati i sl. pa onda imamo na čemu raditi.

8 godina
neaktivan
offline
C++ zadatci

pozdrav..

trebala bi mala pomoc oko zadatka..

Napisati program u kojem se unosi jedna recenica i potom se ispisuju samo one rijeci recenice koje su palindromi.

Za provjeru da li je rijec palindrom napisati korisnicku funkciju.

 

#include<iostream>
#include<cstdlib>
using namespace std;
int palindrom(string rijec){
string obrnuta;
int d=rijec.size();
for(int i=0;i<d;i++)
obrnuta[i]=rijec[d-1-i];
if(rijec==obrnuta) return 1;
else return 0;
}

int main()
{
string recenica;
getline(cin,recenica);
int d=recenica.size();
for(int i=0;i<d;i++)
if(recenica[i]==' ' & recenica[i+1]!=' ')
if(palindrom(recenica[i])) /*izbacuje gresku */
cout<<recenica[i]<<endl;

system ("PAUSE");
return EXIT_SUCCESS;
}

 

 

ovako smo radili na vjezbama,ali uvijek izbacuje gresku

Moj PC  
0 0 hvala 0
15 godina
offline
Re: C++ zadatci
laptopp kaže...

pozdrav..

trebala bi mala pomoc oko zadatka..

Napisati program u kojem se unosi jedna recenica i potom se ispisuju samo one rijeci recenice koje su palindromi.

Za provjeru da li je rijec palindrom napisati korisnicku funkciju.

 

#include<iostream>
#include<cstdlib>
using namespace std;
int palindrom(string rijec){
string obrnuta;
int d=rijec.size();
for(int i=0;i<d;i++)
obrnuta[i]=rijec[d-1-i];
if(rijec==obrnuta) return 1;
else return 0;
}

int main()
{
string recenica;
getline(cin,recenica);
int d=recenica.size();
for(int i=0;i<d;i++)
if(recenica[i]==' ' & recenica[i+1]!=' ')
if(palindrom(recenica[i])) /*izbacuje gresku */
cout<<recenica[i]<<endl;

system ("PAUSE");
return EXIT_SUCCESS;
}

 

 

ovako smo radili na vjezbama,ali uvijek izbacuje gresku

 koliko vidim problem je u tome što se poziva funkcija za razmak, dakle u main funkciji kad dođeš do ' ' pozivaš funkciju za razmak, i sve gore ti radi za razmak, zato ti neće promijenit, probaj spremati u polje svako slovo do razmaka, i onda pomću forova u funkciji iznad provjeriti dali je palindrom..

Umro je Einstein, umro je Newton, ni ja se ne osjećam baš najbolje.. :(
8 godina
neaktivan
offline
Re: C++ zadatci

ajd ako ti nije problem da mi  uradis cijeli zadatak,jer imam ispit sutra,pa da radim druge zadatke,previse vremena sam izgubio pokusavajuci shvatiti gdje je greska u tom zadatku :/

16 godina
neaktivan
offline
C++ zadatci

Nije baš običaj davati gotov kod, ali, ajde dobro, ipak si nešto radio a i ispit ti je blizu.

Možeš i ovako, formiraš riječ iz rečenice i provjeriš da li je riječ palindrom. U riječ možeš staviti slova i brojeve.

 

#include<iostream>
#include<string>
#include<ctype.h>

using namespace std;


bool palindrom(string rijec)
{
   for (int i = 0; i < rijec.size(); i++)
   {
      if (rijec[i] != rijec[rijec.size() - i - 1])
         return false;
   }
   return true;
}


int main()
{
   string recenica, rijec="";
   getline(cin, recenica);
   for (int i = 0; i < recenica.size(); i++)
   {
      if (isalnum(recenica[i]))
         rijec += tolower(recenica[i]);
      else
      {
         if (palindrom(rijec) && rijec.size()>1)
            cout << rijec << endl;
         rijec = "";
      }
   }
   return 0;
}

Poruka je uređivana zadnji put pon 31.8.2015 18:45 (Floki).
 
0 0 hvala 0
Nova poruka
E-mail:
Lozinka:
 
vrh stranice