Stránka: 1 z 5
| [ Príspevkov: 128 ] | 1, 2, 3, 4, 5 |
Autor | Správa |
---|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
tak chcel by som sa spytat na uvod ide o celociselne delenie.
Kód: n=a%2
ked za a dosadim 7 bude vysledok 1?
teda n=1 ?
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
% ... je zvysok po deleni
/ ... je delenie, a celociselne bude, ak vsetky cisla/premenne *aj vysledok budu int, a nie float.
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
teda tento program je s nejakou chybou alebo je ok?:
Kód: #include<stdio.h> #include<stdib.h> int main() { int a,n; scanf("%d",&a); n=a%2; printf("n=%d\n",n); system("pause"); }
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
neviem, co chces;
povedzme, ze a=7
n=a%2; // ... n=1 (% je zvysok po deleni, t.j. modulo)
n=a/2; // ... n=3
(to je klasicke C; este to ma daleko od C++)
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
ano presne to somchcel vediet diki, a co je na tomto zle?
Kód: #include<stdio.h> #include<stdlib.h> int main() { int a,b; printf("PROGRAM NA VYPOCET \"NSD\"\n"); printf("zadaj dve prirodzene cisla:\n\a"); scanf("%d %d",&a,&b); do { if(a>b) {a=a-b; while(a!=b) else printf("\"NSD\" je %d\a",a); } else {b=b-a; while(b!=a) else printf("\"NSD\" je %d\a",a); } } system("pause"); }
kde tam je chyba vyhodilo mi to krizik pri ELSE
|
|
Registrovaný: 28.04.07 Prihlásený: 03.11.09 Príspevky: 133 Témy: 1 | 1 |
tam je viacero chýb, ktoré ľahko zbadať po názornejšom odsadení:
Kód: #include <stdio.h> #include <stdlib.h> int main() { int a,b; printf("PROGRAM NA VYPOCET \"NSD\"\n"); printf("zadaj dve prirodzene cisla:\n\a"); scanf("%d %d",&a,&b); do { if(a>b) { a=a-b; while(a!=b) else printf("\"NSD\" je %d\a",a); } else { b=b-a; while(b!=a) else printf("\"NSD\" je %d\a",a); } } system("pause"); } 1. za do{} nie je podmienka while 2. while() else konštrukcia neexistuje ak sa nemýlim, mohlo by to byť napríklad takto: Kód: #include <stdio.h> #include <stdlib.h> int main() { int a,b; printf("PROGRAM NA VYPOCET \"NSD\"\n"); printf("zadaj dve prirodzene cisla:\n"); scanf("%d %d",&a,&b); do { if(a>b) { a=a-b; } else { b=b-a; } } while(a!=b); printf("\"NSD\" je %d",a); }
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
ako mam naprogramovat program: Program načíta číslo n (n>=0), a ďalej n čísel a1, a2, ..., an. Ako výsledok bude suma nepárnych čísel ai.
VSTUP: n, a1, a2, ..., an
VYSTUP: suma (a1, a2, ..., an), kde ai je neparne.
PRIKLAD: vstup:6 2 3 8 4 15 9 vystup:27
POMOCKA: ci je cislo neparne viem podla toho ze zvysok po deleni =1
Ja som naprogramoval toto ale je to zle:(
Kód: #include<stdio.h> #include<stdlib.h> int main() { int n[10]; printf("PROGRAM NA URCENIE SUMY NEPARNYCH CISEL\n"); printf("zadaj cisla:\n\a"); scanf("%d[10]",n[10]); {n[i]=n%2;} if(n[i]=1) {printf("medzi neparne cisla patri%d\a",n[i]);} else continue; system("pause"); }
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 | 9 |
Kód: #include <stdio.h> #include<stdlib.h>
int main() { int n; //pocet cisel int a; //aktualne cislo int suma=0; //ratanie suctu int i; //riadiaca premenna cyklu
printf("PROGRAM NA URCENIE SUMY NEPARNYCH CISEL\n"); printf("zadaj pocet cisel:\n"); scanf("%d",&n); while (n==0) { printf("pocet musi byt>0, znovu zadaj pocet cisel:\n"); scanf("%d",&n); } for (i=1; i<=n; i++){ printf ("zadaj %d. cislo: ",i); scanf ("%d",&a); if(a%2==1) suma+=cislo; } printf("Sucet neparnych cislic je: %d\n",suma); system("pause"); }
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
super ale vypisalo tam cosi pri tomto riadku
if(a%2==1) suma+=cislo;
_________________ Notebook: ASUS N750JV: Windows 8.1 64bit, Intel(R) Core(TM) i7-4700HQ CPU 2.40 GHz, 12GB RAM (DDR3 1600 MHz), NVIDIA GeForce GT 750M 4GB VRAM + HD Graphics 4600, 750 GB HDD (7200 rpm), Blu-ray Reader. Smartphone: Samsung Galaxy S5 mini |
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 | 9 |
zmeň to takto:
if(a%2==1) suma+=a;
(povodne sa mi tá premenná volala císlo a suma sa volala súčet. Potom som to prepisoval aby to sedelo s tými premennými čo si zadal ako príklad a túto jendú som zabudol)
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
ako funguje while rozdelovac, napr ak je pravdivy tak vypise nieco alebo spravi neico a ak je nepravdivy a pre mna nepotrebny tak ten krok mozem vynechat alebo musim napisat continue; alebo break (to ukonci cely program?),[/code]
|
|
Registrovaný: 17.11.06 Prihlásený: 31.12.07 Príspevky: 677 Témy: 9 | 9 |
Marek Adamec píše: ako funguje while rozdelovac, napr ak je pravdivy tak vypise nieco alebo spravi neico a ak je nepravdivy a pre mna nepotrebny tak ten krok mozem vynechat alebo musim napisat continue; alebo break (to ukonci cely program?),[/code] Kód: while (n==0) { printf("pocet musi byt>0, znovu zadaj pocet cisel:\n"); scanf("%d",&n); } celé toto môžeš vynechať, iba kontroluje aby bolo n<>0 inak bude stále pýtať číslo
Ak si to myslel všeobecne, tak while je klasický cyklus s neurčitým počtom opakovaní. Za while ide do zátvoriek podmienka, ktorá ak je splnená tak sa vykonáva telo cyklu a ak nie je splnená tak sa celé telo preskočí. Continue ani break nemusíš dávať, tieto funkcie skoku sa používajú pri switch a/alebo pri podmienkach vovnútry cyklov.
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
mam dalsie zadanie:
Program načíta číslo n (n>=0). Ak je toto číslo párne podelí ho číslo 2, ak je nepárne vynásobí ho číslom 3 a pripočíta jednotku. Tento postup sa opakuje pokiaľ nie je n=1. Vystup programu bude pocet krokov za ktory sa dosiahne ukoncenie programu n=1
ja som vytvoril:
Kód: { int n,krok;
printf("PROGRAM 3n+1\n"); printf("zadaj cislo:\n\a"); scanf("%d",&n); while (n<=0) { printf("CISLO MUSI BYT VACSIE AKO NULA !!!\n"); printf("znovu zadaj cislo:\n\a\a\a"); scanf("%d",&n); } do if (n%2==1) { n=3*n+1 } else { n=n/2 } while (n==1) printf("Pocet krokov, za ktory sme dosiahli n=1 je: %d",krok); system("pause"); }
ale neveim ako mam spravit aby mi to ratalo roky od kroku if (n%2==1) pokial nedostanem n=1
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
Kód: { int n,krok;
printf("PROGRAM 3n+1\n"); printf("zadaj cislo:\n\a"); scanf("%d",&n); while (n<=0) { printf("CISLO MUSI BYT VACSIE AKO NULA !!!\n"); printf("znovu zadaj cislo:\n\a\a\a"); scanf("%d",&n); };
krok=0; do { krok++; if (n%2==1) { n=3*n+1; } else { n=n/2; } }while (n==1); printf("Pocet krokov, za ktory sme dosiahli n=1 je: %d",krok); system("pause"); }
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
no este tam nico je zle lebo ked som zadal cislo 5 tak vysledny krok bol 1 a mal byt 5 niekde je problem lenze neviem kde...
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
chybicka: Kód: while (n!=1);
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
mam vytvorit fonkciu:
Kód: int prevod(int N, int z);
a to tak ze premenna N bude cislo zadane v desiatkovej sustave, a premenna z bude zadavat do akej sustavy sa ma cislo previezt pricom(2<=z<=10)
vobec neveim ako mam vytvorit tu funkciu, a mam malo casu lebo skolu studujem externe...
kdo mi vie poradit?
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
a co ma ta funkcia robit vytlacit printf(), alebo ulozit vysledok do nejakeho retazca.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
ta funkcia my vypisat cislo v novej sustave....
|
|
Registrovaný: 16.05.07 Prihlásený: 01.08.17 Príspevky: 837 Témy: 6 | 6 |
ooj .. a co si myslis ze ako sa to robi ... bud to postupne vytlacis alebo te jednotlive cifry nacitas do pola a potom vytlacis. a bolo by dobre keby si vedel akym sposobom by si to chcel urobit. z dovodu aby si to potom pochopil.
_________________ getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória |
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
Vzhladom na to, ze vysledkom funkcie bude INT a nie retazec, tak Ti to bode ratat pre dvojkovu sustavu len do 1023, pre tvojkovu viac....
Kód: int prevod(int N, int z) { int ret = 0; int pom = 1;
do { ret = ret + pom*(N%z); N /= z; pom *= 10; }while(N>0);
return ret; }
. . . int desiatkove = 25; int sustava = 2;
int vysledok = prevod(desiatkove, sustava); printf("%d", vysledok); . . .
|
|
Registrovaný: 27.09.07 Prihlásený: 31.12.15 Príspevky: 646 Témy: 233 | 233 Bydlisko: Dubnica nad... |
Cele zadanie jednej z uloh co som dostal je:
Vytvorte funkciu prevod(ktora ma nasledujucu deklaraciu:) int prevod(int N, int z);), ktora urobi prevod cisla z desiatkovej sustavy do lubovlnej inej (2<=z<=10). Funkcia prevod ma dva parametre: 1 parameter N je cislo v desiatkovej sustave, 2 parameter z je zaklad novej sustavy, do ktorej budeme prevadzat. funkcia prevod vrati cislo N v sustave so zakladom z. Funkciu pouzite v programe main nasledovne:
Kód: scanf("%d %d",&N, &z); // nech nacitame N=45, z=7 printf("cislo %d v sustave so zakladom %d=%d",N,z,prevod(N,z)); // vypis: cislo 45 v sustave so zakladom 7= 63
|
|
Registrovaný: 09.09.07 Prihlásený: 15.02.11 Príspevky: 24 Témy: 2 | 2 Bydlisko: bratislava |
ja by som chcel poradit so scitanim matic.
vytvoril som si polia: pole1[i][j] a pole2[k][l] a problem je v tom ze neviem ako napisat aby sa v prvej matici v prvom riadku prvok jeden spocital s prvym prvkom v prvom riadku druhej matice a az do scitania stvrteho prvku vo stvrtom riadku prvej matice s prvkom stvrteho riadku na stvrtom mieste druhej matice
krkolomne napisane ale asi viete co myslim
ak predsa nechapete tak X a Y su matice
pricom chcem aby
prvy riadok: x1+y1....x4+Y4
.
.
stvrty riadok: x1+y1....x4+y4
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
Kód: for(i=0; i<4; i++) for(j=0; j<4; j++) pole3[i][j] = pole1[i][j] +pole2[i][j];
|
|
Registrovaný: 09.09.07 Prihlásený: 15.02.11 Príspevky: 24 Témy: 2 | 2 Bydlisko: bratislava |
v tom je ten figel ze som to tak robil ale nejde to: vypise nejake blud minusove cislo:
Kód: #include<stdio.h> #include<stdlib.h> int main(void) { int i,j,k,l,m,n; int pole1[4][4]; int pole2[4][4]; int pole3[4][4]; for(i = 0;i<4;i++) { printf("\nZadajde 4 cisla prvej matice do %d.riadku\n",i+1); for(j = 0;j<4;j++) { printf("\nZadajde %d.cislo.",j+1); scanf("%d",&pole1[j][i]); } }; printf("\n\nVytvorena matica: \n"); for(i = 0;i<4;i++) { for(j = 0;j<4;j++) { printf("%d ",pole1[j][i]); }; printf("\n"); }; for(k= 0;k<4;k++) { printf("\nZadajde 4 cisla druhej matice do %d.riadku\n",k+1); for(l = 0;l<4;l++) { printf("\nZadajde %d.cislo.",l+1); scanf("%d",&pole1[k][l]); } }; printf("\n\nVytvorena matica: \n"); for(k = 0;k<4;k++) { for(l = 0;l<4;l++) { printf("%d ",pole1[k][l]); } printf("\n"); }; { for(m=0; m<4; m++) for(n=0; n<4; n++) pole3[m][n] = pole1[i][j] + pole2[k][l]; printf("Scitana matica:\n%d \n\n\n",pole3[m][n]); } system("pause"); }
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
zhruba 3-ti riadok odspodu:
Kód: pole3[m][n] = pole1[i][j] + pole2[k][l];
by malo byt: Kód: pole3[m][n] = pole1[m][n] + pole2[m][n];
|
|
Registrovaný: 09.09.07 Prihlásený: 15.02.11 Príspevky: 24 Témy: 2 | 2 Bydlisko: bratislava |
hm
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
treba posunut zatvorku
Kód: for(m=0; m<4; m++) for(n=0; n<4; n++) { pole3[m][n] = pole1[m][n] + pole2[m][n]; printf("Scitana matica:\n%d \n\n\n",pole3[m][n]); }
|
|
Registrovaný: 09.09.07 Prihlásený: 15.02.11 Príspevky: 24 Témy: 2 | 2 Bydlisko: bratislava |
ani tak to nejde. skus si to skompilovat ci ti to ide...
|
|
Registrovaný: 21.06.07 Prihlásený: 06.05.13 Príspevky: 421 Témy: 4 | 4 |
daj tu este raz cely "opraveny" zdrojak
|
|
Stránka: 1 z 5
| [ Príspevkov: 128 ] | 1, 2, 3, 4, 5 |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v Assembler, C, C++, Pascal, Java | 5 | 790 | 08.07.2014 20:40 XOLOO | | v Assembler, C, C++, Pascal, Java | 18 | 2469 | 21.05.2010 21:08 Wpegb | | v Kúpim | 0 | 460 | 13.05.2014 18:16 expresado | | v Ponuka práce | 0 | 1331 | 10.05.2016 14:59 evolvsys | | v Assembler, C, C++, Pascal, Java | 4 | 617 | 20.07.2010 12:54 walther | | v Počítačové hry | 10 | 1289 | 07.03.2007 19:22 Spirit | | v Assembler, C, C++, Pascal, Java | 17 | 1192 | 25.09.2011 18:14 reDo | | v Assembler, C, C++, Pascal, Java | 8 | 2003 | 19.02.2011 22:46 vendo2 | | v Vymením a darujem | 0 | 475 | 01.04.2019 11:20 tomasteicher | | v Ponuka práce | 1 | 604 | 24.10.2016 15:28 michalesku | | v Assembler, C, C++, Pascal, Java | 2 | 872 | 12.03.2009 12:08 Svjatogor | | v Assembler, C, C++, Pascal, Java | 20 | 1864 | 12.02.2011 0:12 The | | v Počítačové hry | 0 | 839 | 25.02.2009 20:18 k0t0l | | v Assembler, C, C++, Pascal, Java | 2 | 347 | 09.12.2012 10:43 nBXXL | | v Assembler, C, C++, Pascal, Java | 1 | 421 | 20.03.2015 22:36 walther | | v ATI/AMD grafické karty | 17 | 1515 | 26.12.2013 11:38 walther |
|