Forum » Programiranje » C - pomoč
C - pomoč
Ajrina ::
Pozdrav!
Prosila bi, da mi kdo pomaga pri kodi, ki nam pove najmanjše število izmed navedenih. Lahko jih vnesemo poljubno. Mora biti pa z argumenti (argv, argc, args). Uspe mi primerjati samo sosednji števili, ne pa vseh.
Prosila bi, da mi kdo pomaga pri kodi, ki nam pove najmanjše število izmed navedenih. Lahko jih vnesemo poljubno. Mora biti pa z argumenti (argv, argc, args). Uspe mi primerjati samo sosednji števili, ne pa vseh.
- spremenila: Ajrina ()
TEDY ::
#include <stdio.h> #include <stdlib.h> int main(int argc, char* argv[]) { unsigned int temp = atoi(argv[1]); while(argc--) { if(temp > atoi(argv[argc]) && argc > 0) temp = atoi(argv[argc]); } printf("Najmanse stevilo %d\n", temp); return 0; }Nekaj takega, na hitr narjen
Wrop ::
EDIT: Vidim, da me je TEDY prehitel
Greš s for zanko od 2 pa do argc in primerjaš števili. Še prej deklariraš eno spremenljivko tipa int in privzameš, da je prvo število najmanjše.
npr.
int x; // dodatna spremenljivka
int min=atoi(argv[1]); // prvi element postane najmanjši
for (int i=2; i (manjši od) argc; i++) // sprehodimo se po vseh elementih
{
if ( (x = atoi(argv[i]) < min) // pogledaš če je trenutni element majši od najmanjšega
min = x; // shraniš x kot trenutno najmanjšega(kar po koncu zanke pomeni, da imamo najmanjšega)
}
// dodaš še izpis, če je potrebno
Sama koda ne vem če je sintaktično pravilna, lahko jo pa uporabiš kot psevdo kodo
Greš s for zanko od 2 pa do argc in primerjaš števili. Še prej deklariraš eno spremenljivko tipa int in privzameš, da je prvo število najmanjše.
npr.
int x; // dodatna spremenljivka
int min=atoi(argv[1]); // prvi element postane najmanjši
for (int i=2; i (manjši od) argc; i++) // sprehodimo se po vseh elementih
{
if ( (x = atoi(argv[i]) < min) // pogledaš če je trenutni element majši od najmanjšega
min = x; // shraniš x kot trenutno najmanjšega(kar po koncu zanke pomeni, da imamo najmanjšega)
}
// dodaš še izpis, če je potrebno
Sama koda ne vem če je sintaktično pravilna, lahko jo pa uporabiš kot psevdo kodo
Zgodovina sprememb…
- spremenil: Wrop ()
Thagirion ::
Pozdrav!
Torej, tudi mi smo dobili eno nalogo podobno tej, za izpis najmanjšega števila.
Navodila:
Naloga od Vas zahteva, da napišete program, kateri bo poiskal najmanjše število iz seznama, podanega kot vhodni parametr, ter ga izpisal na standardni izhod (za izpis uporabite funkcijo printf(...)). Program naj problem reši s pomočjo for zanke. Vhodni parametri (argv[...] ) se v program prenesejo v obliki nizov. Da jih spremenite v števila, uporabite funkcijo atoi(..) (ascii to integer).
Sem poskusil po zgornjem primeru, pa mi vedno izpiše 0 ali pa 1...lahko kdo pomaga?
Hvala in LP.
Torej, tudi mi smo dobili eno nalogo podobno tej, za izpis najmanjšega števila.
Navodila:
Naloga od Vas zahteva, da napišete program, kateri bo poiskal najmanjše število iz seznama, podanega kot vhodni parametr, ter ga izpisal na standardni izhod (za izpis uporabite funkcijo printf(...)). Program naj problem reši s pomočjo for zanke. Vhodni parametri (argv[...] ) se v program prenesejo v obliki nizov. Da jih spremenite v števila, uporabite funkcijo atoi(..) (ascii to integer).
Sem poskusil po zgornjem primeru, pa mi vedno izpiše 0 ali pa 1...lahko kdo pomaga?
Hvala in LP.
Robi182 ::
#include <stdio.h> int main(int argc, char** argv) { if(argc < 2) return -1; int min = atoi(argv[1]); int i, x; for(i = 2; i < argc; i++) { if((x = atoi(argv[i]) < min)) { min = x; } } printf("%d\n", min); return 0; }
Thagirion ::
Hvala za pomoč, vendar še vedno ne deluje
Če dam ./iskanje 3 5 7 (naprimer) mi vedno vrže kot najmanjšega 3, če dam katerokoli drugo število, kot npr.
./iskanje 3 5 7 -2 še mi vedno to prvo podano izpiše...še kakšna ideja?
Torej, očitno tega vedno izpiše, ko je v min=atoi(argv[1]); samo nevem kako to uredit..
lp
Če dam ./iskanje 3 5 7 (naprimer) mi vedno vrže kot najmanjšega 3, če dam katerokoli drugo število, kot npr.
./iskanje 3 5 7 -2 še mi vedno to prvo podano izpiše...še kakšna ideja?
Torej, očitno tega vedno izpiše, ko je v min=atoi(argv[1]); samo nevem kako to uredit..
lp
Zgodovina sprememb…
- spremenil: Thagirion ()
Brane2 ::
Taprvi primer dela, če v vrstici:
Zbrišeš "unsigned"
unsigned int temp = atoi(argv[1]);
Zbrišeš "unsigned"
On the journey of life, I chose the psycho path.
Thagirion ::
jap, samo more bit s for zanko ;)
sicer pa hvala za pomoč, vaja je rešena.
Je bla samo ena brezvezna napaka, ki še sam nevem kako sem jo odpravil
no, pa hvala za pomoč :D ko pogruntam kaj je bilo narobe, napišem :D
sicer pa hvala za pomoč, vaja je rešena.
Je bla samo ena brezvezna napaka, ki še sam nevem kako sem jo odpravil
no, pa hvala za pomoč :D ko pogruntam kaj je bilo narobe, napišem :D
Robi182 ::
#include <stdio.h> int main(int argc, char** argv) { if(argc < 2) return -1; int min = atoi(argv[1]); int i, x; for(i = 2; i < argc; i++) { x = atoi(argv[i]); if(x < min) { min = x; } } printf("Min: %d\n", min); return 0; }
Evo tole dela tut za negativne cifre. Edino kar sm spremenu je da sm x = atoi(argv[i]) premaknu na svoje izven if stavka pa kr dela.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [C] ProcesiOddelek: Programiranje | 975 (884) | Cvenemir |
» | [C] Množenje argumentovOddelek: Programiranje | 943 (687) | _Enterprise_ |
» | [C] Vsota števil v poljuOddelek: Programiranje | 1283 (1221) | Cvenemir |
» | [C] najmanjse steviloOddelek: Programiranje | 1087 (948) | BigWhale |
» | C: connect() funkcija, kako nastaviti timeoutOddelek: Programiranje | 1782 (1563) | fefko-the-bulldog |