Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 11 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 03.03.06
Prihlásený: 03.06.20
Príspevky: 799
Témy: 159
Príspevok NapísalOffline : 15.10.2011 15:59

Zdravim, mohli by ste mi prosim poradit, ako postupovat v tomto pripade?

Kód:
Napíšte funkciu, ktorá vypíše všetky násobky zadaného čísla x v intervale [a,b] (uzavretý interval, x,a,b sú parametre funkcie).

S C len zacinam, tak ma prosim neukamenujte.
A nasiel by sa niekto, kto by mi vedel "po lopate " vysvetlit ako presne funguje zadavanie funkcie do main, lebo stale moc nerozumiem ake hodnoty dat do zatvorky tej funkcie. Popripade nejaku stranku, pisanu pre laikov s C.


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 15.10.2011 16:27

V nazve temy mas cyklus for, ale na tuto ulohu mi pride nezmyselne pouzit for, tak ale ak to je takto v zadani, potom to mozes spravit nasledovne: prejdes cyklom for od a po b s tym, ze kazdy prvok vydelis cislom n a ak je zvysok po deleni nula ( nepouzijes operator / ale % ), dany vysledok vypis, ak nie, pokracuj v cykle.

K otazke s funkciou main: najprv ta len troska poopravim, main je funkcia a ta berie ako kazda ina funkcia parametre (argumenty). Asi mas na mysli toto, vsak?
Kód:
int main( int argc, char* argv[] )

Prvy parameter argc ( argument count ) uvadza pocet parametrov, s kolkymi bol program spusteny. Druhy parameter ( argument vector ) je pole samotnych parametrov. A co je to ten parameter programu? Ak spustas program cez prikazovy riadok, tak parametre su oddelene medzerami:
Kód:
mojprogram.exe prvyParameter druhyParameter

Cize predchadzajuce spustenie programu by v maine bolo taketo: argc == 3, argv[0] == "mojprogram.exe", argv[1] == "prvyParameter", argv[2] == "druhyParameter".


Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 09.04.11
Prihlásený: 11.01.14
Príspevky: 257
Témy: 26
Bydlisko: Kesa
Príspevok NapísalOffline : 16.10.2011 0:59

Je to fakt v cykle for, a typujem že si z STU (API), lebo presne tento príklad bol teraz na cvikách :D A pozor. Ani jedna z tých úloch nebola myslená dať volačo do main, ale vytvoriť samostatné funkcie, ktoré budeš v programe main volať. A v tej otázke ti chýba, po aké číslo sa má cyklus for načítavať (n). Lebo darmo tam máš interval, keď nevie, že kolko máš tých čísiel načítať X je totiž len násobok toho čísla.
Kód:
#include <stdio.h>

int funkcia (int n, int x, int a, int b);

int main ()
{
   int n, x;
   int a, b;

   printf ("Zadaj pocet cisiel: ");
   scanf ("%i", &n);
   printf ("Zadaj nasobok cisla: ");
   scanf ("%i", &x);
   printf ("Zadaj interval v tvare  <a b>: ");
   scanf ("%i %i", &a, &b);
   funkcia (n, x, a, b);
   
}

int funkcia (int n, int x, int a, int b)
{
   int i;
   for (i = 0; i < n; i++)
   {
      if ((i * x) >= a && (i * x) <= b)
         printf ("%i ", i * x);
   }
   return i;
}


Neviem čo presne nechápeš, tak sa kludne spýtaj







_________________
NB - HP Pavilion DV7 3190 -- Windows® 7 Home Premium 64-bit -- Intel® Core™ i7-720QM 1,6 GHz az 2,8 Ghz Turbo Boost, 6 MB pamäte cache úrovne 2 -- 4 GB DDR3 -- disk 640 GB SATA 5400 ot/min -- rozlíšenie 1600 x 900 -- NVIDIA® GeForce® GT 230M -- 2 815 MB grafickej pamäte s vyhradenou pamäťou 1 GB DDR3 -- pripojenie 802.11 a/b/g/n
Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 16.10.2011 10:05

street_punk píše:
A v tej otázke ti chýba, po aké číslo sa má cyklus for načítavať (n).

Ako to mozes vediet? Co ak ma ine zadanie? :) Treba odpovedat priamo na otazku, nie si ju dokraslit.
street_punk píše:
Lebo darmo tam máš interval, keď nevie, že kolko máš tých čísiel načítať X je totiž len násobok toho čísla.

A preco by nevedel? Ved to ma priamo v mojom popise vyssie:
Kód:
void findAllMultiples( int a, int b, int x ) {

    int i;

    for ( i = a; i <= b; i++ )
        if ( ( i % x ) == 0 )
            printf( "%d ", i );

}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0
Príspevok NapísalOffline : 16.11.2011 22:16

zdravicko mam mensi problem s programom papier kamen noznice .vypisuje mi zle vyhru a prehru asi nekde chyba v zapise if niesom isty pls o opravu uz som skusil snad vsetko ď :)

Kód:
[b]CODE:

#include "stdafx.h"
#include"iostream"
#include"math.h"
#include<cstdlib>
#include<ctime>

using namespace std;

int main(void)
   
{int x,a,b;
do{
cout<<"Hra kamen,papier,noznice! Zvol si jednu moznost a zistis kto je vitaz\nPre kamen zadaj cislo 1 papier-2 noznice-3\nPo remize zacinas znova";
cin>>b;
switch(b)   
   {case 1:cout<<"kamen\n";break;
case 2:cout<<"papier\n";break;
case 3:cout<<"noznice\n";break;
default:cout<<"zly sintax\n",system("PAUSE");return 0;
}

const int MIN = 1, MAX = 3; 
srand( (unsigned int) time(NULL) );   
x = rand();                         
x = rand() % (MAX-MIN + 1) + MIN;
switch(x)   
   {case 1:cout<<"kamen\n";break;
case 2:cout<<"papier\n";break;
case 3:cout<<"noznice\n";break;

}


}while(b==x);   

    if((b=1)&&(x=2))cout<<"prehral si" ;
else if((b=2)&&(x=1))cout<<"vyhral si";
else if((b=2)&&(x=3))cout<<"prehral si";
else if((b=3)&&(x=2))cout<<"vyhral si";
else if((b=1)&&(x=3))cout<<"vyhral si";
else if((b=3)&&(x=1))cout<<"prehral si";

system("PAUSE");
return 0   ;
}


[/b]


Offline

Užívateľ
Užívateľ
C cyklus for

Registrovaný: 27.12.08
Prihlásený: 13.12.22
Príspevky: 1874
Témy: 96
Bydlisko: Bratislava,...
Príspevok NapísalOffline : 16.11.2011 22:35

znak rovná sa v podmienke je ==, ty tam máš iba jedno =..

okrem toho tam máš zbytočne definované konštanty, ktoré aj tak použiješ len raz a prvý riadok s rand(); je absolútne zbytočný..







_________________
~Listen to your brain, not your heart~
NB1: Lenovo Y500: CPU: Intel Core i7-3630QM; GPU: nVidia GT650M 2GB SLi; RAM: 16GB DDR3; HDD: 1TB + 256GB SSD (m4); LCD: 15,6" 1920x1080; OS: Win8.1 64-bit + Arch Linux 64-bit (UEFI Powered DualBoot)
NB2: Asus K53SJ-SX093: CPU: Intel Core i3-2310M; GPU: Intel HD3000 / nVidia GT520M 1GB Optimus; RAM: 8GB DDR3; SSD: 128GB 840Evo; LCD: 15,6" 1366x768; OS: Win 8.1 Pro 64-bit (UEFI)
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0
Príspevok NapísalOffline : 16.11.2011 22:58

diki moc slape to


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0
Príspevok NapísalOffline : 26.11.2011 11:54

jedna z dalsich potrebujem aby som si zadal pocet prvkov pola z klavesnice no neviem kde robim chybu

Kód:
#include "stdafx.h"
#include "iostream"
#include "math.h"
#include <ctime>
#include <cstdlib>

using namespace std;

int main(void)
{int i;

const int y;
cin>>y;
   
int x[y];

cout<<"napln pole dvojcifernymi cislami\n";
 for (i=0; i<y; i++)
 {cin>>x[i]   ; }
 for (i=0; i<y; i++)
 {cout<<x[i]<<""<<' ';}
 
     system ("PAUSE");
   return 0;


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 26.11.2011 12:16

Nemozes ukladat data do konstantnej premennej ( logicky ), ako to robis tuna:
Kód:
const int y;
cin>>y;


Konstanta uz musi byt dana v dobe navrhu programu. Oprava:


Kód:
#include <iostream>

using namespace std;

int main(void)
{

    int i, y;     

    cin >> y;

    int x[y];

    cout<<"napln pole dvojcifernymi cislami\n";

    for (i=0; i<y; i++)
        cin >> x[i];     

    for (i=0; i<y; i++)
        cout << x[i] << "" << ' ';

    return 0;

}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 16.11.11
Prihlásený: 26.11.11
Príspevky: 4
Témy: 0
Príspevok NapísalOffline : 26.11.2011 12:23

no ano tak som to mal ale podsiarkne my pole x[y] ze nieje konstanta a potom to cele program preskoci a ani nic nezadavam z klavesnice az potom tie konkretne hodnoty pola


Offline

Skúsený užívateľ
Skúsený užívateľ
C cyklus for

Registrovaný: 11.01.09
Prihlásený: 29.03.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 26.11.2011 13:57

Tak neviem, ale g++ s tym kodom nema problem. Mozes este pouzit dynamicku alokaciu:
Kód:
#include <iostream>

using namespace std;

int main(void)
{

    int i, y;
    int* x;

    cin >> y;
    x = new int[y];


    cout<<"napln pole dvojcifernymi cislami\n";

    for (i=0; i<y; i++)
        cin >> x[i];

    for (i=0; i<y; i++)
        cout << x[i] << "" << ' ';

    delete [] x;
    return 0;

}


Odpovedať na tému [ Príspevkov: 11 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. PHP cyklus for

v PHP, ASP

8

529

20.11.2010 16:13

venom2 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C# Cyklus For, inicializovanie a vytvorenie "labelov" pomoc

v Technológia .NET

1

503

28.03.2013 19:01

walther Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. CUSTOM CSS FOR MAIN CONTENT AREA ONLEY FOR MAIN PAGE

v HTML, XHTML, XML, CSS

6

539

29.10.2013 15:21

Beatdownhaus Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nekonečný cyklus

v JavaScript, VBScript, Ajax

8

608

04.09.2011 9:49

camo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. diagram cyklus

v Ostatné

2

364

13.06.2018 17:14

void Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. VB - cyklus

v Delphi, Visual Basic

3

730

21.05.2009 11:19

Patkoo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [pascal] nekonecny cyklus

v Assembler, C, C++, Pascal, Java

3

592

02.04.2010 13:24

vama Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JAVA, FOREACH CYKLUS

v Assembler, C, C++, Pascal, Java

2

594

25.08.2017 8:20

mitko Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. nekonečný cyklus v jave

v Assembler, C, C++, Pascal, Java

2

848

01.01.2010 16:58

jarrro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. EXCEL - cyklus na combobox

v Ostatné programy

1

1044

28.07.2009 17:10

PaloPa Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. makro feof a cyklus

v Assembler, C, C++, Pascal, Java

23

674

25.06.2015 23:43

magic Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. karel v C - nefunguje cyklus

v Assembler, C, C++, Pascal, Java

11

1029

12.05.2010 22:09

Shwollo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cyklus na zistenie interpunkčného znaku

v Assembler, C, C++, Pascal, Java

7

380

05.02.2017 20:18

GamerSK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. update velkeho mnozstva dat - cyklus?

v PHP, ASP

4

303

02.02.2013 16:36

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Excel - VBA - ako riesit cyklus?

v Ostatné

3

690

17.05.2018 16:11

Winnetou Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Cyklus v dopyte na databazu

v PHP, ASP

5

367

08.10.2010 17:37

shaggy Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra