Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!
  • Важно
    Имате проблем со најава или регистрација на it.mk?
    Побарајте го решението на вашиот проблем ТУКА!

zadaca vo C

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
vika napisi programa koja ke treba da vnese broj od 5 cifri taka sto resultatot treba da go ispise na sledniov nacin.

ako napises 45678 , treba da isprinta 4 5 6 7 8. Znaci treba da ima dve prazni mesta izmegu sekoj broj.

ajde da ve vidam :LOL:
 

Alexandar

Gaining Experience
21 мај 2007
2.514
90
u pascal vaka bi go izvel:
program cifri;
var broj,i:integer;
cifra:array[1..5] of integer;
begin
readln(broj); - го читам бројот
for i:= 5 downto 1 do
begin
cifra:=broj mod 10; - ја сместувам последната цифра во cifra
broj := broj div 10; - ја кратам последната цифра
end;
for i:=1 to 5 do
begin
write(cifra,' '); - печатам цифри од 1 до 5 + две празни места
end;
end.
 

Alexandar

Gaining Experience
21 мај 2007
2.514
90
Го изменив малку постот. Мислам дека добро објаснив. Ако повторно нешто не разбираш - прашај.
 

n3tG0d

Intern
9 април 2007
121
4
Aj eve ti malce posredena programa ;p
Po programerski , zaso da go opteretuvas procesorotpo 2pat ;p koa nemas potreba od pole ;p neli moze vaka?? ;p

var broj,i:integer;
begin
readln(broj); - го читам бројот
for i:= 5 downto 1 do
begin
write(broj mod 10,' ');
broj := broj div 10; - ја кратам последната цифра
end;
end.
 

the G man

Intern
20 јули 2007
44
1
Еве го кодот на задачава (ме потсети на приемните за факс и морав да ја пишам), нема низи користење (со тоа не си ограничен да определуеш должина на низа), туку само се наоѓа бројот читан наопаку. У претходниот одговор у паскал за пример : 357 ќе врати 7 5 3(како што ја вади последната цифра, така ја печати), па затоа треба превртување прво.

#include <iostream.h>



int main()
{
unsigned int broj,svrten=0;
cin >> broj;
svrten=broj%10;
broj=broj/10;

while(broj!=0)
{
svrten = svrten*10 +(broj%10);
broj/=10;
}

while(svrten!=0)
{
cout << svrten%10 << " ";
svrten /= 10;
}
cin >> broj;
return 0;
}

П.С. Последното cin >> broj; ми е за да не се затвори веднаш програмата.
Прашања??
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
eve go i mojot kod, bez nikakva nizi , for i while lupovi

#include <stdio.h>

int main(int argc, char *argv[])
{
int x, res, res1;
printf("vnesi broj ");
scanf("%d", &x);

res = x/10000;
printf("%d", res);

res= x%10000;
res1 = res / 1000;
printf(" %d", res1);

res= x%1000;
res1 = res / 100;
printf(" %d", res1);

res= x%100;
res1 = res / 10;
printf(" %d", res1);

res= x%10;
printf(" %d", res);

fflush(stdin);
getchar();
return 0;
}

zadacava bese cisto da vidam na razmisluvanjeto, nacini na resavanje na eden problem
 

n3tG0d

Intern
9 април 2007
121
4
Aj eve ti malce posredena programa ;p
Po programerski , zaso da go opteretuvas procesorotpo 2pat ;p koa nemas potreba od pole ;p neli moze vaka?? ;p

var broj,i:integer;
begin
readln(broj); - го читам бројот
// Ne go vidov deka stavil ciklus ogranicen
kako so kaza deckoto podole dodeka e razlicno od nula
while(broj <> 0)
begin
write(broj mod 10,' ');
broj := broj div 10; - ја кратам последната цифра
end;
end.

se izvinucammm ako se zbuni nekoj
 

the G man

Intern
20 јули 2007
44
1
за претходно

Упс, сеа видов дека сум ја решил погрешно, без ограничувањето на 5 цифри(Sorry:)), а да не зборам дека сум ја решавал за C++, ама се е исто освен влезот и излезот.
Тоа ти е, па човек греши
 

DF-1

Intern
13 септември 2007
98
2
Eax, така без циклуси можеш да ја решиш, затоа што станува збор за 5 цифри. Замисли дека требаше бројот да биде 100, 1000 цифрен... Што ќе правеше во тој случај, ќе го копираше кодот ??? Најпаметно решение е тоа со циклусот со превртувањето, затоа што решението може да се примени на n-цифрен број. Со други зборови кажано, тоа е општо решение на таков тип проблеми... и алгоритамски гледано, најпаметно.
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
Eax, така без циклуси можеш да ја решиш, затоа што станува збор за 5 цифри. Замисли дека требаше бројот да биде 100, 1000 цифрен... Што ќе правеше во тој случај, ќе го копираше кодот ??? Најпаметно решение е тоа со циклусот со превртувањето, затоа што решението може да се примени на n-цифрен број. Со други зборови кажано, тоа е општо решение на таков тип проблеми... и алгоритамски гледано, најпаметно.

druze da mi trebase ciklus ke pisev so ciklus. mene striktno mi trebase bez ciklus, zatoa i taka sum ja napisal
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
Во секој случај, тоа не е програмерско размислување

sto ima tuka vrska so programesko razmisluvanje?
citav kniga, i vo prviot chapter ( koj normalno ne bese za loop-vi) se barase da se resi zadacava, normalno bez lupovi .... se nadevam deka ne si me svatil sto sakam da kazam, pa zatoa taka razmisluvas :bravo:
 

the G man

Intern
20 јули 2007
44
1
Абе, у целина (за ова програмерсково размислување), секогаш е добро да мислиш на некои работи однапред (мислам на она n-цифрен број), а ако гледаме од оптимизација, епа два циклуси со комплексност 2n и ограничување од не повеќе од 20 цифрен број нема некоја голема разлика да направат(кој учел Алгоритми и Структури на Податоци или Програмски Методологии или Структури и БАзи на Податоци или Програмски Јазици или слично нешто: знае).

П.С. Ова не беше баш некој коментар за претходниве два или три коментари(иако ми дадоа повод), туку беше за чисто моето мислење од друга перспектива за кодот. Кому му текнуе нешто за овој аспекат на стварите, ај Бујрум ме интересира мислење ;-)

Поздрав
 

n3tG0d

Intern
9 април 2007
121
4
Da de tuka si vo pravo, najveke procesorsko vreme jadat vgnezdeni povtoruvanja. sepak ova bese prosta zadaca, a ako nekoj veke go interesira struktura na podatoci, ima dosta dobri knigi, samo sto se napredni. a inace razmisluvanje treba da imas i se steknuva so iskustvo i rabota, a ne so prasuvanje, site naucile so citanje i probuvanje.
 

HHH

Intern
20 февруари 2008
35
0
Помош за задача

Zasto ovaa zadaca ne mi izlaga koga koristam nizi:

#include <iostream>
using namespace std;
int main()
{
int n,m,k=0,r;
cout<<"vnesi nekoj broj\n";
cin>>n;
r=n;
while (r>0){
r=r/10;
k++; }
int b=k;
int A;
for (int i=0;i<=k;i++)
A=n % 10;
for (int j=k-1;j>=0;j++)
cout<<A[j]<<" ";
cin.get();
}
 

Нови мислења

Последни Теми

Статистика

Теми
49.374
Мислења
1.010.476
Членови
36.676
Најнов член
Kazanizam
На врв Дно