eMatematikas Prisijunk Forumas Egzaminų užduotys ONLINE testai

Problema su while ciklu C++ uždaviniuose


Ziurek, turiu issisprendęs uždavini 2 su while ciklu.

Salyga:
https://www.ematematikas.lt/upload/uploads/40000/6500/46694/thumb/p18913767alar1mro14lu3qsi9v1.png

Mano sprendimas:
https://www.ematematikas.lt/upload/uploads/40000/6500/46694/thumb/p189137ukhncek03ago1r8u1gt82.png

Ar gali buti, kad šiame uzdaviny reikia naudoti "IF" salygos funkcija? Pagal salyga regis reikia: "Jei indėlininkas pinigų nė kiek neišima, palūkanos skaičiuojamos nuo vis didesnės sumos", bet kaip įterpti į ciklą, jei jos reikalauja. Nors sakyciau atsakyma, gera gavau, tai gal nereikia?

O kaip 3 uzdaviny, reikia sukurti cikla, kad jame nebutu galima panaudoti nei "/", nei "%" zenklu?

Siek tiek nekorektiska salyga.Tuo sakiniu tiesiog nori pasakyti,kaip reikia skaiciuoti, nes siuo taveju zmogus pinigu neissiims.

o 3  paprasta

int k = 0;                    k  tai sveika dalis

kol m - n >= 0
m-=n;
k++; 

na o liekana bus  m

pakeista prieš 10 m

https://www.ematematikas.lt/upload/uploads/40000/7500/47728/thumb/p18cs165q3129l19n01nl5d3u1mo62.png

Sprendziu 1. uzdavini su ciklu while ir niekaip nesuprantu, kodėl pati programa gauna vienu skaiciumi didesni atsakyma negu reikia.
Tikrasis atsakymas turetu buti: 6(spiralės)
Bent jau tikrinant uzdavini, pats uzrasymas atrodo geras.

https://www.ematematikas.lt/upload/uploads/40000/7500/47728/thumb/p18cs17e9319ahnb36usp13lm13.png

https://www.ematematikas.lt/upload/uploads/40000/7500/47729/thumb/p18cs19mraogi1mck1jua1jg216gj1.png

Sprendziu 1. uzdavini su ciklu while ir niekaip nesuprantu, kodėl pati programa gauna vienu skaiciumi didesni atsakyma negu reikia.
Tikrasis atsakymas turetu buti: 6(spiralės)
Bent jau tikrinant uzdavini, pats uzrasymas atrodo geras.

https://www.ematematikas.lt/upload/uploads/40000/7500/47728/thumb/p18cs17e9319ahnb36usp13lm13.png

Iš tiesų tai aš ten matau 7 grandis, tiek kiek tu ir gauni. Galbūt jie norėjo, kad suskaičiuotum kiek yra "pilnų" grandžių.

Bet ziurek dabar. Pakeiciam "cout << spiral << endl" i "cout << i << endl", kad matytume kiek pagaliuku sunaudojo.
Pagal viska turetu skaicioti iki <=n, nes while(i<=n), o n = 14.
O dabar priskaicioja iki 16, bet juk sesiolika netinka pagal while struktura. Jei neskaiciuotu, tai ir gautusi 14 pagaliuku ir 6 spinduliai.

https://www.ematematikas.lt/upload/uploads/40000/7500/47733/thumb/p18csi3vru11ifn2ipfmrqqnct1.png

Va cia sustatymais, kaip viskas vyksta pradzioje(ant popieriaus lapo susirasius):

i:          1    2    4    6    9    12
spiral:    1    2    3    4    5    6
pap:      0    1    1    2    2    3

Reikėtų pasiskaityti kaip veikia while ciklas :) .
while(kažkas){
  //kodas
}

Kai sutinkamas while, pirmiausia patikrinama ar kažkas yra true. Jei taip, tai vykdomas kodas, jei ne, tai vykdomas sakinys po while bloko. Kai while įvykdo viską savo bloke, tada jis vėl patikrina ar kažkas yra true ir pagal tai vėl sprendžia ką daryti. While netikrina ar kažkas yra true po kiekvieno sakinio kaip tu galvojai(ar ką tu ten galvojai). Taigi, while veikia taip:
1. tikrinam sąlyga. Jei ji false išeinam iš bloko, jei true tęsiam.
2. Įvykdom sakinius while bloke, goto 1.

Dėkui už paaiškinimus. Bet tai kaip man tada gauti tas 6 spirales kaip atsakyme?

Na kažką reikia padaryti, kad prie spiralių skaitkliuko vienetas būtų pridėtas tik tada, kai grandis yra pilna.

Nurodytas skaičius N ir N sveikųjų skaičių, kurie reiškia temperatūrą. Parašykite programą mažiausiai teigiamai temperatūrai ir jos eilės numeriui rasti. Jei tokio skaičiaus nėra, reikia spausdinti nulius.

Kontroliniai duomenys:
10
8 -7 5 -1 9 11 -2 9 15 -8

Rezultatai 5 3


Mano sprendimas:
https://www.ematematikas.lt/upload/uploads/40000/7500/47804/thumb/p18d4cd6l4mfjrro11ra1lqj9781.png

Kaip man rasti eilės numerį? Nesugalvoju kokią formulę reikia taikyti...

Nori sudalyvauti šioje temoje ir parašyti savo pranešimą? Prisijungti »