» »

[c++] nek programcek

[c++] nek programcek

renegade22 ::

sestavi program ki bo za dano naravno število m izpisal vsa naravna
števila med 1 in 1000, za katera je vsota cifer (v desetiškem
seštevku) enaka m.

nujno..ce je mozno celo source kodo

BigWhale ::

A to mas domaco nalogo?

ERGY ::

Že sam naslov teme izpade neprimerno:) Kaj pa je tako nujnega? Naravna števila veš kaj so, interval tudi, vsota pravtako.

kogledom ::

za začetek:
int DigitSum(int number)
{
  int sum = 0;
  while (number >= 1)
  {
    sum += number % 10;
    number /= 10;
  }
  return sum;
}
bo šlo naprej?

black ice ::

@kogledom: za začetek? Cel problem si mu rešil :D

@OP: moraš še prebrati želeno vsoto števk, nato se sprehodiš po celotnem intervalu s for zanko (lahko tudi while, če želiš) in izpišeš število, če ustreza pogoju (če je vsota števk danega števila enaka želeni/iskani vsoti). Imaš celotno rešitev, samo prepiši jo v kodo. Če ti bo to predstavljalo problem potem pa ne vem...

hexor ::

Pa pri rešitvi ne pozabi deklarirat še knjižnico
include <time.h> 
za random števila.

renegade22 ::

ni problem v tem da ne vem kaj so naravna stevila in interval...problem je sestevek cifre...mislim...jaz si nalogo predtavljam tako....izberem stevilo 15.sedaj pa gre na intervalu od 1 do 1000 in gleda ce je kateri sestevk cifer enak 15.

to pomeni
15=15,69,78,96,159,168,177,186,195.....razumem prav?

15=6+9
15=7+8

kako to cifro 78 pogledati posamezno kot 7 in 8 in potem sesteti...

Spura ::

operacija ostanka pri deljenju
operacija deljenja
operacija sestevanja
Figure it out.

renegade22 ::

tezka bo...nekako ne potegne...

renegade22 ::

nekaj napisal pa mi izpisuje samo stevilke od for zanke ... kot da ne primerja

#include <iostream.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
int main()
{
  int number = 0;
  int sum = 0;
  int stevec1=0;
  
  cout<<"vpisi cifro:"<<endl;
  cin>>number;
  for (int stevec=1;stevec<=20;stevec++)
  {
	  sum=0;
	  stevec1=stevec;
   while (stevec1 >= 1)
   {
    sum += stevec1 % 10;
    stevec1 /= 10;

   }
  
  if (sum=number)
  {
  cout<<"Stevilke med 1 in 20 katerih vsota je enaka vpisani stevilki so:"<<stevec<<endl;
  }
   
  }
  return 0;
}

Zgodovina sprememb…

black ice ::

Ni čudno, če pa izpisuješ spremenljivko stevec. Zakaj imaš dodane knjižice katerih sploh ne uporabljaš?
Evo tule je moja koda (avtorske pravice za funkcijo ima @kogledom):
#include <iostream>
using namespace std;

int DigitSum(int number)
{
  int sum = 0;
  while (number >= 1)
  {
    sum += number % 10;
    number /= 10;
  }
  return sum;
}

int main()
{
    int sum;
    cout << "Vnesi zeleno vsot stevk:" << endl;
    cin >> sum ;
    cout << endl;
    
    for (int i=1; i<=1000; i++)
    {
        if(DigitSum(i) == sum)
        cout << i << endl;
    }
    
    system("PAUSE");
    return 0;
}

renegade22 ::

tnx black ice....sem ugotovil da moram funckijo potem klicati...sem se malo pobrskal po knjigi....mah...nekaj danes pamet ne dela:)

tnx se 1x black ice in kogledom...resila sta mi zivljenje in pa mozgane ki niso pomislili na to resitev

Zgodovina sprememb…

black ice ::

Vaja dela mojstra.

Če imaš veliko volje za programiranje si lahko ogledaš Project Euler. Ima me, da bi rešil vseh 300+ problemov. Malo vaje nikdar ne škodi. :)

renegade22 ::

zanimivo...bom pogledal...vaja ne skodi in kot pravis vaja dela mojstra

billgates ::

Mi lahko kdo prosim pomaga napisati/napiše program, ki niz preoblikuje tako, da se bo vsaka beseda začela z veliko začetnico, vse presledke pa pobriše.

Nujno, prosim, hvala.

XsenO ::

neki takega bi moralo biti

for zanka čez niz
if charat(i) == " "
charat(i) = "";
charat(i+1).touppercase
ali nekaj takega, se ne spovnem če c++ ima to že implementirano čene pa pretvori charat(i+1) v ascii število odštej se mi zdi 32 in nato nazaj pretvori v črko) in bo velika začetnica. Če boš ubral to pot poglej če ni že uppercase (google ascii table)
1 + 1 = 1

billgates ::

Kaj pa tale program:

Definiraš dve enodimenzionalni polji nizov. V prvega vpiši kratice šolskih predmetov, v drugega pa priimke proferorjev, ki te predmete učijo, nato napisi zanko v kateri vpises ime predmeta, program pa izpise priimek profesorja.

začel sem tako, pa ne znam več naprej :/ prosim za pomoč

void main()
{
char predmeti [5] = {"APJ", "RAK", "PBA"}
char ucitelji [5] = {"Gec", "Pogac", "Cepin"}

black ice ::

void main()
{
string predmeti [5] = {"APJ", "RAK", "PBA"};
string ucitelji [5] = {"Gec", "Pogac", "Cepin"}; 

string predmet;

cout << "Vpisi ime predmeta:" << endl;
cin >> predmet;
for(int i=0;i<5;i++)
{
if(predmet == predmeti[i])
{
cout << predmeti[i] << endl;
cout << ucitelji[i] << endl;
break;
}
}
system("PAUSE");
return 0;


Nekaj na pamet, nisem preverjal če deluje.
Opombe: Niz == string in ne char. Beri navodila kot je treba, pa ti sploh ne bo potrebno kaj dosti razmišljati. Še nekaj: program bo pravilno deloval samo, če vpišeš profesorja in ime predmeta na isti indeks v polju.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

NUJNO!Algoritmi C++

Oddelek: Pomoč in nasveti
211974 (1236) DOOM_er
»

Java

Oddelek: Pomoč in nasveti
141371 (996) shadeX
»

[C#] razlaga

Oddelek: Programiranje
161605 (1322) krastača
»

perfektno stevilo

Oddelek: Programiranje
91484 (1159) joze67
»

[java] števila

Oddelek: Programiranje
71296 (1166) ta_pravi

Več podobnih tem