Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
eve Forumaš(ica)

Pridružen/a: 13. 07. 2009. (23:07:06) Postovi: (192)16
Spol: 
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
|
[Vrh] |
|
.anchy. Forumaš(ica)

Pridružen/a: 14. 11. 2007. (20:03:46) Postovi: (1BC)16
Lokacija: Zgb
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3561)16
Spol: 
Lokacija: /sbin/init
|
Postano: 11:16 sub, 16. 1. 2010 Naslov: |
|
|
Tocno, anchy. Zanemaren je dio zadatka koji kaze "ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 13, onda ih uspoređujete na uobičajeni način".
Inace, zadatak kaze da niz ima [b]strogo manje[/b] od 31 elementa (n[b]<[/b]31), pa je max. duljina niza ok.
Tocno, anchy. Zanemaren je dio zadatka koji kaze "ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 13, onda ih uspoređujete na uobičajeni način".
Inace, zadatak kaze da niz ima strogo manje od 31 elementa (n<31), pa je max. duljina niza ok.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
|
[Vrh] |
|
Genaro Forumaš(ica)

Pridružen/a: 27. 10. 2009. (18:57:50) Postovi: (8B)16
Spol: 
Lokacija: Zagreb
|
Postano: 22:26 sub, 16. 1. 2010 Naslov: |
|
|
Može li pomoć sa sljedećim zadatkom:
Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 7, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.
[code:1]#include <stdio.h>
int main(void) {
int i, j, n, max, y, znam1, znam;
int a[131];
scanf("%d", &n);
for ( i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for ( i = 0; i < n; i++) {
if ( a[i] % 7 == 0) {
y = a[i];
if ( y > max) max = y;
}
}
for ( j = 0; j < n; j++) {
while ( a[j] > 0) {
znam1 = a[j] % 10;
a [j] /= 10;
}
while ( max > 0) {
znam = max % 10;
if ( znam == znam1) printf("%d", j);
max /= 10;
}
}
return 0;
}
[/code:1]
Maksimum djeljiv sa 7 nalazi, ali ovaj drugi dio nikako da mi ispadne, pa odlučih potražiti pomoć ( nadam se da je neka glupa greška :D ).
Može li pomoć sa sljedećim zadatkom:
Napišite program koji učitava prirodni broj n<131, te niz od n cijelih brojeva. Program treba pronaći najveći element niza djeljiv s 7, te u originalnom poretku ispisati indekse onih elementa niza kojima je prva znamenka jedna od znamenki pronađenog maksimuma.
Ako traženi maksimum ne postoji, program ne smije ništa ispisati. Ispisane brojeve odvojite razmacima.
Kod: | #include <stdio.h>
int main(void) {
int i, j, n, max, y, znam1, znam;
int a[131];
scanf("%d", &n);
for ( i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for ( i = 0; i < n; i++) {
if ( a[i] % 7 == 0) {
y = a[i];
if ( y > max) max = y;
}
}
for ( j = 0; j < n; j++) {
while ( a[j] > 0) {
znam1 = a[j] % 10;
a [j] /= 10;
}
while ( max > 0) {
znam = max % 10;
if ( znam == znam1) printf("%d", j);
max /= 10;
}
}
return 0;
}
|
Maksimum djeljiv sa 7 nalazi, ali ovaj drugi dio nikako da mi ispadne, pa odlučih potražiti pomoć ( nadam se da je neka glupa greška ).
|
|
[Vrh] |
|
Milojko Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16
Spol: 
Lokacija: Hilbertov hotel
|
Postano: 23:10 sub, 16. 1. 2010 Naslov: |
|
|
mislim da se o tome već raspravljalo ranije, možda čak ovdje, i mislim da je u pitanju bilo 15. inačeb reko sam da malo prošvrljaš po forumu, al pošto je [b]sedmica[/b] u pitanju, e, to se mora razmotrit
prvo: ne nalazi ovo maksimum. samo si imalo sreće da je na adresi gdje je za max rezerviran prostor u meoriji bilo nešto manje od najmanjeg elementa u tvom nizu. postavi max odma na početku na nulu, ili tako nešto, trinaest. kad u petlji pronađeš član koji je djeljiv sa 7, lupi [tt]if (a[i] > max || max == 0) max = a[i][/tt] rekao bih da će s tom izmjenom naći maksimum. y ti ne treba, njega briši jer nemaš potrebu za raditi nikakve destruktivne operacije na a[i] u toj petlji pa da ga moraš čuvat u nizu.
drugo: kad ideš ovim trećim for-om, radiš destruktivnu operaciju na max-u. prvi put u petlju uđeš [tt]while (max > 0) [/tt] za prvi element niza i skrčiš max na nulu. za sve ostale članove niza se ni ne ulazi u petlju. sad je potrebno ono [tt]y = max[/tt] i onda rušiš y do nule u while-u, a max čuvaš za iduću rundu. i da, y bi bilo pametno deklarirati ispod [tt]
for ( j = 0; j < n; j++) {
int y = max;[/tt]
mislim da se o tome već raspravljalo ranije, možda čak ovdje, i mislim da je u pitanju bilo 15. inačeb reko sam da malo prošvrljaš po forumu, al pošto je sedmica u pitanju, e, to se mora razmotrit
prvo: ne nalazi ovo maksimum. samo si imalo sreće da je na adresi gdje je za max rezerviran prostor u meoriji bilo nešto manje od najmanjeg elementa u tvom nizu. postavi max odma na početku na nulu, ili tako nešto, trinaest. kad u petlji pronađeš član koji je djeljiv sa 7, lupi if (a[i] > max || max == 0) max = a[i] rekao bih da će s tom izmjenom naći maksimum. y ti ne treba, njega briši jer nemaš potrebu za raditi nikakve destruktivne operacije na a[i] u toj petlji pa da ga moraš čuvat u nizu.
drugo: kad ideš ovim trećim for-om, radiš destruktivnu operaciju na max-u. prvi put u petlju uđeš while (max > 0) za prvi element niza i skrčiš max na nulu. za sve ostale članove niza se ni ne ulazi u petlju. sad je potrebno ono y = max i onda rušiš y do nule u while-u, a max čuvaš za iduću rundu. i da, y bi bilo pametno deklarirati ispod
for ( j = 0; j < n; j++) {
int y = max;
_________________ Sedam je prost broj
Bolonja je smeće i to pod hitno treba mijenjat
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
Postano: 23:30 sub, 16. 1. 2010 Naslov: |
|
|
mislin da program radi ok...samo ima jednu manu...uvazava kratnost...moze neki savjet kako da ju ignoriran??
[code:1]/*Napišite program koji učitava cijeli broj n, te ispisuje
sumu svih prostih djelitelja (ignorirajući kratnost) svih
cijelih brojeva različitih od nule koji se nalaze između n
i -41 (uključivo).*/
#include<stdio.h>
#include<stdlib.h>
int prost(int x)
{
int i, pr = 1;
for(i = 2; i <= x / 2; ++i)
if(x % i == 0)
{
pr = 0;
break;
}
return pr;
}
int main(void)
{
int n, i, t = 0, sum = 0, j, k;
scanf("%d", &n);
if(n > -41)
t = -41;
else
{
t = n;
n = -41;
}
for(i = t; i <= n; i++)
{
j = 2;
k = i;
while(k != 1 && k != -1 && k != 0)
{
if(prost(j))
while(k % j == 0){
k /= j;
sum += j;
}
++j;
}
}
printf("%d\n", sum);
system ("pause");
return 0;
}
[/code:1]
mislin da program radi ok...samo ima jednu manu...uvazava kratnost...moze neki savjet kako da ju ignoriran??
Kod: | /*Napišite program koji učitava cijeli broj n, te ispisuje
sumu svih prostih djelitelja (ignorirajući kratnost) svih
cijelih brojeva različitih od nule koji se nalaze između n
i -41 (uključivo).*/
#include<stdio.h>
#include<stdlib.h>
int prost(int x)
{
int i, pr = 1;
for(i = 2; i <= x / 2; ++i)
if(x % i == 0)
{
pr = 0;
break;
}
return pr;
}
int main(void)
{
int n, i, t = 0, sum = 0, j, k;
scanf("%d", &n);
if(n > -41)
t = -41;
else
{
t = n;
n = -41;
}
for(i = t; i <= n; i++)
{
j = 2;
k = i;
while(k != 1 && k != -1 && k != 0)
{
if(prost(j))
while(k % j == 0){
k /= j;
sum += j;
}
++j;
}
}
printf("%d\n", sum);
system ("pause");
return 0;
}
|
_________________ You'll take my life but I'll take yours too
You'll fire your musket but I'll run you through
So when you're waiting for the next attack
You'd better stand there's no turning back
|
|
[Vrh] |
|
Genaro Forumaš(ica)

Pridružen/a: 27. 10. 2009. (18:57:50) Postovi: (8B)16
Spol: 
Lokacija: Zagreb
|
Postano: 23:42 sub, 16. 1. 2010 Naslov: |
|
|
Uf, puno grešala, ali hvala, budem sad to sve ispravio.
Btw, nisam skužio da je na prvoj stranici sličan zadatak, pa se ispričavam što sam nepotrebno stavljao.
Uf, puno grešala, ali hvala, budem sad to sve ispravio.
Btw, nisam skužio da je na prvoj stranici sličan zadatak, pa se ispričavam što sam nepotrebno stavljao.
|
|
[Vrh] |
|
Milojko Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16
Spol: 
Lokacija: Hilbertov hotel
|
Postano: 23:52 sub, 16. 1. 2010 Naslov: |
|
|
@jkrstic:
kikyca je imala takav zadatak isto na prošloj stranici, pa pogledaj tamo. btw normalno da ti računa i kratnosti jer ih dodaješ svaki put sumi. provjeravat dali je broj prost pa onda računati sumu njegovih prostih faktora je nepotrebno
@Genaro: nije krevet
@jkrstic:
kikyca je imala takav zadatak isto na prošloj stranici, pa pogledaj tamo. btw normalno da ti računa i kratnosti jer ih dodaješ svaki put sumi. provjeravat dali je broj prost pa onda računati sumu njegovih prostih faktora je nepotrebno
@Genaro: nije krevet
_________________ Sedam je prost broj
Bolonja je smeće i to pod hitno treba mijenjat
|
|
[Vrh] |
|
ivana_1708 Forumaš(ica)


Pridružen/a: 01. 10. 2008. (08:19:58) Postovi: (19)16
|
Postano: 0:35 ned, 17. 1. 2010 Naslov: |
|
|
Može pomoć? Vjerojatno sam malo zakomplicirala stvar, ali svakako mi ništa ne izbaciva ovako napisan program, riječ je o slijedećem zadatku:
[i]Napišite program koji učitava prirodni broj n<31, te niz od n cijelih brojeva. Program treba učitane brojeve ispisati padajuće sortirano prema sumi znamenaka u bazi 9; ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 9, onda ih uspoređujete na uobičajeni način. Ispisane brojeve odvojite razmacima.[/i]
Moje rješenje;
[code:1]#include <stdio.h>
#include <stdlib.h>
void selection_sort(int y[], int n, int x[]]
{
int i, j, ind_min, y_min, tempy, tempx;
for(i = 0; i < n; ++i)
{
ind_min = i;
y_min = y[i];
for(j = i + 1; j < n; ++j)
{
if(y[j] < y_min)
{
ind_min = j;
y_min = y[j];
}
}
if(i != ind_min)
{
tempy = y[i];
y[i] = y[ind_min];
y[ind_min] = tempy;
tempx = x[i];
x[i] = x[ind_min];
x[ind_min] = tempx;
}
}
return;
}
int main (void)
{
int n, x[31], p, i, w, sume[31], sum = 0;
scanf("%d", &n);
if (n > 0)
{
for(i = 0; i < n; i++)
{
scanf("%d", &x[i]);
p = x[i];
sum = 0;
do
{
w = p % 9;
p /= 9;
sum += w;
}
while(w > 0);
sume[i] = sum;
}
selection_sort(&sume[0], n, &x[0]);
for(i = n - 1; i >= 0; i--)
{
printf("%d ", x[i]);
}
}
system("pause");
return 0;
}
[/code:1]
Hvala:)
Može pomoć? Vjerojatno sam malo zakomplicirala stvar, ali svakako mi ništa ne izbaciva ovako napisan program, riječ je o slijedećem zadatku:
Napišite program koji učitava prirodni broj n<31, te niz od n cijelih brojeva. Program treba učitane brojeve ispisati padajuće sortirano prema sumi znamenaka u bazi 9; ako neka dva različita broja imaju jednaku sumu znamenaka u bazi 9, onda ih uspoređujete na uobičajeni način. Ispisane brojeve odvojite razmacima.
Moje rješenje;
Kod: | #include <stdio.h>
#include <stdlib.h>
void selection_sort(int y[], int n, int x[]]
{
int i, j, ind_min, y_min, tempy, tempx;
for(i = 0; i < n; ++i)
{
ind_min = i;
y_min = y[i];
for(j = i + 1; j < n; ++j)
{
if(y[j] < y_min)
{
ind_min = j;
y_min = y[j];
}
}
if(i != ind_min)
{
tempy = y[i];
y[i] = y[ind_min];
y[ind_min] = tempy;
tempx = x[i];
x[i] = x[ind_min];
x[ind_min] = tempx;
}
}
return;
}
int main (void)
{
int n, x[31], p, i, w, sume[31], sum = 0;
scanf("%d", &n);
if (n > 0)
{
for(i = 0; i < n; i++)
{
scanf("%d", &x[i]);
p = x[i];
sum = 0;
do
{
w = p % 9;
p /= 9;
sum += w;
}
while(w > 0);
sume[i] = sum;
}
selection_sort(&sume[0], n, &x[0]);
for(i = n - 1; i >= 0; i--)
{
printf("%d ", x[i]);
}
}
system("pause");
return 0;
}
|
Hvala:)
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
|
[Vrh] |
|
meda Forumaš(ica)

Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16
|
|
[Vrh] |
|
ante003 Forumaš(ica)


Pridružen/a: 13. 10. 2008. (17:45:10) Postovi: (3C5)16
Spol: 
|
|
[Vrh] |
|
meda Forumaš(ica)

Pridružen/a: 09. 01. 2010. (09:29:23) Postovi: (A0)16
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3561)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
Postano: 17:21 ned, 17. 1. 2010 Naslov: |
|
|
iman problem...znan da san koristio #include <math.h> al neman ideju kako da naden apsolutnu vrijednost svih clanova niza...pa ako bi mi neko moga napisat taj dio koda bio bi zahvalan...
i zanima me sto program treba raditi kad je minimum negativan??da li ostatku treba dodati 14,jer koliko sam skuzio, njemu je -15 % 14 = -1,u protivnom nece ispisivati nista jer ostatak pri dijeljenju pozitivnog (apsolutne vrijednosti) broja sa 14 mora biti pozitivan,pa nikako ne moze biti jednak onome koji se dobije dijeljenjem negativnog broja sa 14...
[code:1]/*Napišite program koji učitava prirodni broj n<71, te niz od n cijelih brojeva.
Program treba u originalnom poretku ispisati sve elemente x[i] niza takve da je
ostatak pri dijeljenju apsolutne vrijednosti x[i] s 14 jednak ostatku koji pri
istom takvom dijeljenju daje najmanji od učitanih brojeva. Ispisane brojeve odvojite razmakom.*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int n, x[69], i, min;
scanf("%d", &n);
for(i=0;i<n;++i) scanf("%d", & x[i]);
min=x[0];
for(i = 1; i < n; i++)
if(x[i]<min){
min=x[i];
}
for(i = 0; i < n; i++){
if(abs(x[i]) % 14 == min % 14)
printf("%d ", x[i]);
}
system("pause");
return 0;
}
[/code:1]
iman problem...znan da san koristio #include <math.h> al neman ideju kako da naden apsolutnu vrijednost svih clanova niza...pa ako bi mi neko moga napisat taj dio koda bio bi zahvalan...
i zanima me sto program treba raditi kad je minimum negativan??da li ostatku treba dodati 14,jer koliko sam skuzio, njemu je -15 % 14 = -1,u protivnom nece ispisivati nista jer ostatak pri dijeljenju pozitivnog (apsolutne vrijednosti) broja sa 14 mora biti pozitivan,pa nikako ne moze biti jednak onome koji se dobije dijeljenjem negativnog broja sa 14...
Kod: | /*Napišite program koji učitava prirodni broj n<71, te niz od n cijelih brojeva.
Program treba u originalnom poretku ispisati sve elemente x[i] niza takve da je
ostatak pri dijeljenju apsolutne vrijednosti x[i] s 14 jednak ostatku koji pri
istom takvom dijeljenju daje najmanji od učitanih brojeva. Ispisane brojeve odvojite razmakom.*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){
int n, x[69], i, min;
scanf("%d", &n);
for(i=0;i<n;++i) scanf("%d", & x[i]);
min=x[0];
for(i = 1; i < n; i++)
if(x[i]<min){
min=x[i];
}
for(i = 0; i < n; i++){
if(abs(x[i]) % 14 == min % 14)
printf("%d ", x[i]);
}
system("pause");
return 0;
}
|
_________________ You'll take my life but I'll take yours too
You'll fire your musket but I'll run you through
So when you're waiting for the next attack
You'd better stand there's no turning back
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3561)16
Spol: 
Lokacija: /sbin/init
|
Postano: 17:32 ned, 17. 1. 2010 Naslov: |
|
|
Apsolutna vrijednost od [tt]x[/tt], bez [tt]math.h[/tt]-a (koji ti za cjelebrojne funkcije ne treba) je [tt](x < 0 ? -x : x)[/tt].
Pise "isto takvo dijeljenje", dakle misli se na "dijeljenje apsolutne vrijednosti s 14", pa te negativni brojevi ne zanimaju.
Apsolutna vrijednost od x, bez math.h-a (koji ti za cjelebrojne funkcije ne treba) je (x < 0 ? -x : x).
Pise "isto takvo dijeljenje", dakle misli se na "dijeljenje apsolutne vrijednosti s 14", pa te negativni brojevi ne zanimaju.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
Postano: 17:38 ned, 17. 1. 2010 Naslov: |
|
|
[quote="vsego"]Apsolutna vrijednost od [tt]x[/tt], bez [tt]math.h[/tt]-a (koji ti za cjelebrojne funkcije ne treba) je [tt](x < 0 ? -x : x)[/tt].
Pise "isto takvo dijeljenje", dakle misli se na "dijeljenje apsolutne vrijednosti s 14", pa te negativni brojevi ne zanimaju.[/quote]
krivo sam razumio ovaj drugi dio onda...mislo sam da se kod onoga "pri istom takvom dijeljenju", misli na "pri dijeljenju s 14"...hvala...ovo mi je zadnji zad iz zadace,pa vas,nadan se, vise necu gnjavit... :D
vsego (napisa): | Apsolutna vrijednost od x, bez math.h-a (koji ti za cjelebrojne funkcije ne treba) je (x < 0 ? -x : x).
Pise "isto takvo dijeljenje", dakle misli se na "dijeljenje apsolutne vrijednosti s 14", pa te negativni brojevi ne zanimaju. |
krivo sam razumio ovaj drugi dio onda...mislo sam da se kod onoga "pri istom takvom dijeljenju", misli na "pri dijeljenju s 14"...hvala...ovo mi je zadnji zad iz zadace,pa vas,nadan se, vise necu gnjavit...
_________________ You'll take my life but I'll take yours too
You'll fire your musket but I'll run you through
So when you're waiting for the next attack
You'd better stand there's no turning back
|
|
[Vrh] |
|
ajaxcy Forumaš(ica)


Pridružen/a: 27. 09. 2009. (17:58:37) Postovi: (77)16
Spol: 
|
|
[Vrh] |
|
|