» »

[C] Vsota števil v polju

[C] Vsota števil v polju

Cvenemir ::

Verjetno se vam bo zdelo smešno, ker ne znam naredit tele preproste naloge :)
But hey, prvič delam v C-ju.

Program mora seštet vsa števila v polju. Uporabiti moramo zanko do-while. Količina števil in števila so podana preko avtomatskega testa, tako da na začetku ne vemo kako veliko mora biti polje. Pa še to, števila so podana v obliki stringa, zato jih je najprej potrebno pretvoriti v integer z uporabo "atoi()"

Do zdaj sem napisal tole, prevajalnik pa mi javlja napako pri deklaraciji vsote.
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])  

int poljeStevil[10];
int vsota = 0;
stevec = 0;
      
do{
    scanf("%d");
    poljeStevil[stevec] = "%d";
    vsota = vsota + "%d[stevec]";
    stevec++;
}while (stevec < 10);

printf (vsota);
 
  system("PAUSE");	
  return 0;
}

smoke ::

V kakšni obliki točno pa so ti stringi števil podani? char** ?

Cvenemir ::

V programskem jeziku C napišite program za izračun vsote števil, podanih kot vhodni parameter.
Za sprehod skozi vhodne parametre uporabite do while zanko.
Ker so vhodni parametri podani kot nizi, jih morate pretvoriti v cela števila, za kar lahko uporabite funkcijo atoi().
Rezultat izpišite na standardni izhod s pomočjo funkcije printf().

Samo to piše -.-

Tale primer je še podan.

Pimer zagona:
./izracunaj 1 3 2 4 9 8 7 2
Rezultat: 36

Zgodovina sprememb…

  • spremenil: Cvenemir ()

Cvenemir ::

Tole sm napisu zdej, pomoje bi moral delovat.
Edino kar mi še vedno javlja error je:

-parameter 'vsota' is initialized
-parameter 'stevec' is initialized


#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])  

int poljeStevil[10];
int vsota = 0;
int stevec = 0;
      
do{
    vhodnoStevilo = scanf("%d");
    vhodnoStevilo = atoi("%d")
    poljeStevil[stevec] = vhodnoStevilo;
    vsota = vsota + vhodnoStevilo[stevec];
    stevec++;
}while (stevec < 10);

printf (vsota);
 
  system("PAUSE");	
  return 0;
}

smoke ::

Takole bo prav:
int main(int argc, char* argv[])
{
    int i, vsota;
    if (argc == 1) {
        printf("Napacno stevilo argumentov..\n");
        return -1;
    }
    
    i = 1; vsota = 0;
    
    do { vsota += atoi(argv[i++]);
    } while (i < argc);

    printf("Vsota je %d", vsota);

    return 0;
}

Zgodovina sprememb…

  • spremenil: smoke ()

Cvenemir ::

Hvala lepa.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] Procesi

Oddelek: Programiranje
6967 (876) Cvenemir
»

C (Izračun povprečja)

Oddelek: Programiranje
141609 (1243) joze67
»

[c] Enaki datoteki

Oddelek: Programiranje
71026 (886) Spura
»

C - pomoč

Oddelek: Programiranje
111444 (1184) Thagirion
»

[C++][Naloga] Tekstovne datoteke, realna števila

Oddelek: Programiranje
254004 (3620) Gundolf

Več podobnih tem