Programiranje u C-u - od svega pomalo izdvojena tema

poruka: 1.661
|
čitano: 384.765
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

Ja planiram to izvesti putem usb-a imam sklop za to.. a i izgleda mi modernije nego paralel i to..? :D

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
16 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Možda je modernije, ali teško da je jednostavnije od serijskog porta s kojim u C-u barataš kao s datotekom i ne treba ti nikakav poseban driver.

 

Edit:

Palo mi je na pamet, zašto ne bi onda išao na bežičnu komunikaciju, recimo preko Bluetootha pa dodao kotače da kontroler bude mobilan? {#}

Poruka je uređivana zadnji put sri 30.3.2011 19:46 (Tom69).
 
0 0 hvala 0
17 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo
Q: a kako se to linux ponasa kad crkne hdd? A: zastekava svakih 60 sec,ali prezivi se
 
0 0 hvala 0
15 godina
protjeran
offline
Programiranje u C-u - od svega pomalo

Pozdrav ljudi!

Radim neku TXT igru, i sad bi htio da bude malo bolja i da ima zvuk.

Sad, ja snimim neki govor stavim ga u MP3 ali ga neznam pokrenut.

Ima li netko neki jednostavan program za to?

Hvala!

Socijalizam, nacionalizam i antiimeperijalizam. To nam treba.
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo
fmod.org
Moj PC  
0 0 hvala 1
15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Program omogućuje unos dnevnih temperatura zraka u intervalu zadanom na ovaj način: 1. dan promatranja je 1. dan u godini u kojem je dnevna temp. zraka 10 C. Mjerenje prestaje onog dana kada temperatura postane viša od 25 C. Potrebno je izračunati broj dana u kojem je temperatura bila između 10-25 C te sredjnu temperaturu promatranog intervala

 

pomoću do-while petlje .... pls pomoć :S

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
Poruka je uređivana zadnji put čet 7.4.2011 20:42 (Zvjerkan).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

Pa u cemu je problem? Stvoris integer polje od recimo 365 clanova, te ga onda sa scanf u petlji krenes popunjavati. U slucaju prvog broja gnjavis korisnika ponavljanjem unosa tako dugo dok prvi broj ne bude u dopustenom iznosu, petlja se ponavlja dok korisnik ne unese broj veci od 25.

 

Nakon toga proletis kroz dobiveno polje popisujuci broj dana u kojima je temperatura 10-25 °C, te zbrajas njihove temperature koje na kraju podjelis sa brojem tih dana da bi dobio prosjek.

 

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

int main()
{
    int dan=-1, temperature[365], n, brojdana=0, zbrojtemp=0;
   
    do
    {
        dan++;
        printf("Unesite temperaturu za %d. dan: ", dan+1);
        scanf("%d", &temperature[dan]);

        if (temperature[0]<10)
            do
            {
                printf("Unesite temperaturu za %d. dan: ", dan+1);
                scanf("%d", &temperature[dan]);
            }
            while(temperature[0]<10); 
    }
    while(temperature[dan]<=25);
   
    for (n=0; n<dan; n++)
        if (temperature[n]>9 && temperature[n]<26)
        {
           zbrojtemp+=temperature[n];
           brojdana++;
        }  
    printf("\nBroj dana u kojima je temperatura bila izmedu 10 i 25 stupnjeva je: %d", brojdana);
    printf("\nProsjecna dnevna temperatura tih dana bila je: %d stupnjeva celzijevih\n", zbrojtemp/brojdana);
   
    system("pause");
    return 0;
}

 

Malo sam zbrljao prvu petlju pa mi pocetna vrijednost dana mora biti -1, siguran sam da se to moze i pametnije napraviti, ali mi se nije dalo previse razmisljati. Takoder druga petlja ukljucuje i dane cija je temperatura 10 i 25 stupnjeva, to se lako prepravi ako se ni ta dva broja ne racunaju.

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
17 godina
offline
Programiranje u C-u - od svega pomalo

Moglo bi i bez polja, petljom while se odredi da unos počne sa temperaturom 10, a unos se u petlji do-while vrši dok temperatura ne dostigne 25.

 

#include<stdio.h>


int main()
{
    int brojDana = 0, cijeliInterval = 0;
    float dnevnaTemperatura = 0, suma = 0;
    while (dnevnaTemperatura < 10)
    {
       printf("Unesi dnevnu temperaturu: ");
       scanf("%f", &dnevnaTemperatura);
    }
    do
    {


      if(dnevnaTemperatura >= 10)

    {    
       brojDana++;

       }
       suma += dnevnaTemperatura;

       cijeliInterval++;
      
       printf("Unesi dnevnu temperaturu: ");
       scanf("%f", &dnevnaTemperatura);
    }while(dnevnaTemperatura <= 25);

    printf("Broj dana sa dnevnom temperaturom 10-25: %d", brojDana);
    printf("\nProsjecna temperatura u tom intervalu: %.2f", suma/cijeliInterval);


}

Poruka je uređivana zadnji put čet 7.4.2011 22:07 (Floki).
 
1 0 hvala 1
17 godina
offline
Re: Programiranje u C-u - od svega pomalo

traži se interval, a ne cijela godina, a u tom intervalu se izlista broj dana sa temperaturom 10-25, i prosjek tog cijelog intervala

Poruka je uređivana zadnji put čet 7.4.2011 21:50 (Floki).
15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Hvala svima kolko vas ima...{#}{#}

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Zašto skoro svako od vas koristi printf a ne cout? >.>

I'm rapper. Screamer. Singer. I'm the dopest.
Moj PC  
0 0 hvala 0
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
Aliser kaže...

Zašto skoro svako od vas koristi printf a ne cout? >.>

printf je funkcija u C-u (ima je i u C++-u, Javi, PHP-u, a vjerojatno i u još nekim jezicima), a cout je objekt u C++-u.

15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Floki kaže...

traži se interval, a ne cijela godina, a u tom intervalu se izlista broj dana sa temperaturom 10-25, i prosjek tog cijelog intervala

Znam, ali mi se ucinilo da bi polje sa vrijednostima za cijelu godinu bilo blize onome sto bi u nekakvom stvarnom programu takve vrste dobio, onda bi iz takvog polja morao probirati zeljene vrijednosti. No vjerojatno sam previse zabrijao...

 

Kao sto rekoh, moze se i pametnije. Ti si to lijepo pokazao xD

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
17 godina
offline
Re: Programiranje u C-u - od svega pomalo
rustweaver kaže...
Floki kaže...

traži se interval, a ne cijela godina, a u tom intervalu se izlista broj dana sa temperaturom 10-25, i prosjek tog cijelog intervala

Znam, ali mi se ucinilo da bi polje sa vrijednostima za cijelu godinu bilo blize onome sto bi u nekakvom stvarnom programu takve vrste dobio, onda bi iz takvog polja morao probirati zeljene vrijednosti. No vjerojatno sam previse zabrijao...

 

Kao sto rekoh, moze se i pametnije. Ti si to lijepo pokazao xD

Nije loše da je više verzija, to nas sve "brusi"{#}

15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

kaže mi prfa. da se taj zadatak riješi s jednom do-while petljom, kako god sam pokušo nevalja... pa ako nije nekom problem pokazat :S

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo

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

int main()
{
    int temp=0, zbrojtemp=0, dan=0;
   
    do
    {
        printf("Unesite temperaturu: za %d. dan ", dan+1);
        scanf("%d", &temp);
        if (temp>9 && temp<26)
        {
           dan++;
           zbrojtemp+=temp;
        }
    }
    while(temp<26);
   
    if (dan)
    {
        printf("\nBroj dana u kojima je temperatura bila izmedu 10 i 25 stupnjeva je: %d", dan);
        printf("\nProsjecna dnevna temperatura tih dana bila je: %.1f stupnjeva celzijevih\n", (float)zbrojtemp/dan);
    }
    else
        printf("\nNema podataka u trazenom intervalu\n");
   
    system("pause");
    return 0;
}

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
Poruka je uređivana zadnji put pet 8.4.2011 15:16 (rustweaver).
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
rustweaver kaže...

...
        if (temp>9 && temp<26)
...   
        while(temp<26);

Ovo ti nije uputno raditi. Recimo da ti onda profesor kaže da se temperature mogu unositi i u decimalnom obliku (recimo 25.5), onda ti program neće više funkcionirati ispravno - morat ćeš ići mijenjati granice. Znači, ako se kaže da je temperatura maksimalno 25, onda stavi uvjet <= 25, kao što je to Floki učinio. To što si napravio bi možda imalo smisla kad bi bilo u svrhu neke optimizacije - ali ovdje nema.

17 godina
offline
Programiranje u C-u - od svega pomalo

Kvaka je u tome da je profa vjerojatno mislio da se poslije prvog unosa od 10, mogu unositi i niže vrijednosti

lukavi neki profa, sigurno traži da se posije prvog unosa od 10 može unijeti npr 9, jer ako je danas zagrijalo, sutra možda bude kiša.

On traži sistem npr:

10, 9, 8, 10, 12, 15, 14, 20, 21, 27

E sad u tom intervalu traži da se izlista broj dana sa temperaturom većom ili jednako 10, i uz to traži prosječnu temperaturu CIJELOG intervala

I sve to u jednoj jedinoj do-while petlji

lukava profa, još da je žensko, pa da je pozdraviš{#}

 

 

#include<stdio.h>


int main()
{
    int brojDana = 0, cijeliInterval = 0, kontrolnaVarijabla = 0;
    float dnevnaTemperatura = 0, suma = 0;
  
    do
    {
      if(dnevnaTemperatura >= 10 && brojDana == 0)
      {
         kontrolnaVarijabla++;
      }
      if(kontrolnaVarijabla != 0)
      {
        
         cijeliInterval++;
         suma += dnevnaTemperatura;
         if(dnevnaTemperatura >= 10)
         {
            brojDana++;
         }
      }
       printf("Unesi dnevnu temperaturu za %d. dan: ", cijeliInterval+1);
        scanf("%f", &dnevnaTemperatura);
    }while(dnevnaTemperatura <= 25);

    printf("Broj dana sa dnevnom temperaturom 10-25: %d", brojDana);
    printf("\nProsjecna temperatura u tom intervalu: %.2f", suma/cijeliInterval);


}

Poruka je uređivana zadnji put pet 8.4.2011 16:43 (Floki).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
Floki kaže...

Kvaka je u tome da je profa vjerojatno mislio da se poslije prvog unosa od 10, mogu unositi i niže vrijednosti

lukavi neki profa, sigurno traži da se posije prvog unosa od 10 može unijeti npr 9, jer ako je danas zagrijalo, sutra možda bude kiša.

On traži sistem npr:

10, 9, 8, 10, 12, 15, 14, 20, 21, 27

E sad u tom intervalu traži da se izlista broj dana sa temperaturom većom ili jednako 10, i uz to traži prosječnu temperaturu CIJELOG intervala

I sve to u jednoj jedinoj do-while petlji

lukava profa, još da je žensko, pa da je pozdraviš{#}

 

 

#include<stdio.h>


int main()
{
    int brojDana = 0, cijeliInterval = 0, kontrolnaVarijabla = 0;
    float dnevnaTemperatura = 0, suma = 0;
  
    do
    {
      if(dnevnaTemperatura >= 10 && brojDana == 0)
      {
         kontrolnaVarijabla++;
      }
      if(kontrolnaVarijabla != 0)
      {
        
         cijeliInterval++;
         suma += dnevnaTemperatura;
         if(dnevnaTemperatura >= 10)
         {
            brojDana++;
         }
      }
       printf("Unesi dnevnu temperaturu za %d. dan: ", cijeliInterval+1);
        scanf("%f", &dnevnaTemperatura);
    }while(dnevnaTemperatura <= 25);

    printf("Broj dana sa dnevnom temperaturom 10-25: %d", brojDana);
    printf("\nProsjecna temperatura u tom intervalu: %.2f", suma/cijeliInterval);


}

je žensko je (profesorica :D), ma al nema baš ona blage xD .. ona ima te zadatke isprintane s riješenjima s nekog cd-a pa pametuje :D :D  la snađe se.. :D

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
17 godina
offline
Programiranje u C-u - od svega pomalo

Evo ti verzija bez kontrolne varijable (ona uvijek bode oči)

 

 

#include<stdio.h>


int main()
{
    int brojDana = 0, cijeliInterval = 0;
    float dnevnaTemperatura = 0, suma = 0;
  
    do
    {
      if(dnevnaTemperatura >= 10 && brojDana == 0)
      {
         brojDana++;      // ovaj uvjet onemoućuje da prvi upis bude manji od 10
      }
      if(brojDana != 0)  // dakle čim se upiše prvi upis veći ili jednako 10 ovdje je vrijednost true
      {                  // i dalje se mogu upisivati sve vrijednostti manje od 25
        
         cijeliInterval++;            // povećava se vrijednost ukupnog intervala
         suma += dnevnaTemperatura;   // pribraja se suma za unesenu vrijednost
         if(dnevnaTemperatura >= 10)
         {
            brojDana++;              // varijabla broj dana se povećava jedino ako je temperatura >= 10
         }
      }
       printf("Unesi dnevnu temperaturu za %d. dan: ", cijeliInterval+1);
        scanf("%f", &dnevnaTemperatura);          // unos nije slučajno na kraju petje, tim se dobija da
    }while(dnevnaTemperatura <= 25);              // petlja prekida  čim je temperatura 25 ili više, bez da se ta vrijednost pribraja varjablama
                                                 
    printf("Broj dana sa dnevnom temperaturom 10-25: %d", brojDana-1);  // broj dana sa temperaturom 10-25 umanjujemo za 1, jer smo u prvoj if naredbi imali inkrement "viška"
    printf("\nProsjecna temperatura u tom intervalu: %.2f", suma/cijeliInterval);   // prosjek se dobije da se podijeli suma temperature sa cijelim intervalom


}

Poruka je uređivana zadnji put ned 10.4.2011 12:08 (Floki).
 
2 0 hvala 1
15 godina
neaktivan
offline
Re: Programiranje u C-u - od svega pomalo
mbaksa kaže...

Ovo ti nije uputno raditi. Recimo da ti onda profesor kaže da se temperature mogu unositi i u decimalnom obliku (recimo 25.5), onda ti program neće više funkcionirati ispravno - morat ćeš ići mijenjati granice. Znači, ako se kaže da je temperatura maksimalno 25, onda stavi uvjet <= 25, kao što je to Floki učinio. To što si napravio bi možda imalo smisla kad bi bilo u svrhu neke optimizacije - ali ovdje nema.

Ali ja radim s cijelim brojevima :P

Da su realni brojevi u pitanju onda bih to svakako uzeo u obzir.

 

Za svog skolovanja sam i sâm cesto uzimao takve mjere, i gotovo uvijek se radilo o cijelim brojevima. Ali da si u pravu - jesi. Da sam od pocetka radio sa realnim brojevima onda ni onaj casting u poslijednjem ispisu ne bi bio potreban. Recimo da ja to tako sâm sebe zabavljam jer su ovi zadatci uglavnom repetitivni i dosadni. {#}

Look at you, hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?
15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

ajde puno hvala vima, na trudu i radu...sam ja nisam bio u šk kad su radili tu petlju i to pa ako nije nekom problem pokraj koda napisat što točno koji dio u ovom slučaju radi s čime.. TNX :D :D

Budući Microsoftov Bill Gates...ili Applov Steve Jobs!
Moj PC  
0 0 hvala 0
17 godina
offline
Re: Programiranje u C-u - od svega pomalo
Zvjerkan kaže...

ajde puno hvala vima, na trudu i radu...sam ja nisam bio u šk kad su radili tu petlju i to pa ako nije nekom problem pokraj koda napisat što točno koji dio u ovom slučaju radi s čime.. TNX :D :D

mada ne kužim poantu ovog zadatka, to bi svakako bilo efektnije i preglednije riješiti sa kombinacijom while + do-while

ograniči se prvi upis uvjetom koji se provlači kroz while petlju sve dok se ne upiše vrijednost >= 10, a u do-while petlji se upisuju

sve vrijednosti <= 25.

Poanta bi trebala biti u pisanju što jednostavnijeg i robusnijeg koda, a ne u izvođenju "egzibicija".

 

dakle, po mojim kriterijima, peticu bi dobio onaj tko bi napisao while + while za ovaj zadatak

 

nešto slično ovom:

 

 

 

 

#include<stdio.h>


int main()
{
    int brojDana = 0, cijeliInterval = 1;
    float dnevnaTemperatura = 0, suma = 0;
   
    while(dnevnaTemperatura < 10)
    {
       printf("Unesi dnevnu temperaturu za %d. dan: ", cijeliInterval);
        scanf("%f", &dnevnaTemperatura);
    }
    while(dnevnaTemperatura <= 25)
    {
       if(dnevnaTemperatura >= 10)
       {
          brojDana++;
       }
       suma += dnevnaTemperatura;
       printf("Unesi dnevnu temperaturu za %d. dan: ", ++cijeliInterval);
        scanf("%f", &dnevnaTemperatura);
    }

    printf("Broj dana sa dnevnom temperaturom 10-25: %d", brojDana);
    printf("\nProsjecna temperatura u tom intervalu: %.2f", suma/cijeliInterval-1);


}

btw. otkrij zašto ovaj kod ne daje dobar rezultat.

Poruka je uređivana zadnji put ned 10.4.2011 14:39 (Floki).
15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Je li ima itko ideju kako iz unesenog niza naći koji broj se ponavlja najviše puta, odn. koji je najčešći broj.

 

Recimo, imam a[]={1,3,3,6,4,7,3,2}

i da ispiše 3. 

Nista nije sveto sve je bruto i neto, sve je zabava!
Moj PC  
0 0 hvala 0
17 godina
moderator
online
Re: Programiranje u C-u - od svega pomalo
Shody_1994 kaže...

Je li ima itko ideju kako iz unesenog niza naći koji broj se ponavlja najviše puta, odn. koji je najčešći broj.

 

Recimo, imam a[]={1,3,3,6,4,7,3,2}

i da ispiše 3. 

Jedan od načina se nameće sam od sebe - da imaš matricu, u koju ćeš zabilježiti koji broj je u pitanju i koliko puta se ponavlja. Znači, imao bi u ovom slučaju:

 

broj, brojPojavljivanja

1, 1

3, 2

6, 1

4, 1

7, 1

3, 1

2, 1

 

Naravno, matrica je ispočetka prazna. Ideš element po element polja a i pogledaš nalazi li se taj broj u matrici - ako se nalazi, uvećaš mu broj pojavljivanja.

16 godina
offline
Debug i Release

kad projekt buildam kao debug izvrsna datoteka zauzima 153 kb, a kad buildam kao release onda zauzima 63 kb. zašto je to tako? nije da mi smeta, nego me zanima :D

Atomska bubamara
 
0 0 hvala 0
16 godina
neaktivan
offline
Re: Debug i Release
jurluk kaže...

kad projekt buildam kao debug izvrsna datoteka zauzima 153 kb, a kad buildam kao release onda zauzima 63 kb. zašto je to tako? nije da mi smeta, nego me zanima :D

  Razni debug markeri da bi debugger mogao efikasno raditi

17 godina
offline
Programiranje u C-u - od svega pomalo

Evo još jednog algoritma za izračun najčešćeg broja u nizu.

prednost u odnosu na matricu : ne traži dodatnu alokaciju

nedostatak : ukoliko imamo dva broja sa istim brojem ponavljanja izbacuje samo jednog - manjeg

(dakle - matrica ima prednost)

 

#include<stdio.h>

int main()
{
    int polje[] = {1, 5, 19, 5, 9, 8, 4, 5, 19, 5};
    int i, j, temp, brojElemenata, brojSaNajvisePonavljanja, brojPonavljanja = 0;

    for( i=0; i<10; i++)
    {
       for( j=0; j<10-1; j++)
       {
          if(polje[j]>polje[j+1])
          {
             temp = polje[j+1];
             polje[j+1] = polje[j];
             polje[j] = temp;
          }
       }
    }
    temp = 0;
    for(i=0; i<10-1; i+=temp)
    {
       brojElemenata = 1;
       for(j=i; polje[j] == polje[j+1]; j++)
       {
          brojElemenata++;
       }
       if(brojElemenata > brojPonavljanja)
       {
          brojSaNajvisePonavljanja = polje[j];
          brojPonavljanja = brojElemenata;
       }
       temp = brojElemenata;
    }
    printf("Broj sa najvise ponavljanja: %d", brojSaNajvisePonavljanja);
    printf("\nBroj ponavljanja: %d", brojPonavljanja);
    return 0;
}

 

Najprije se niz sort metodom poreda po veličini, a onda dvostrukom petljom nađe broj sa najviše ponavljanja.

Poruka je uređivana zadnji put sri 13.4.2011 15:19 (Floki).
 
0 0 hvala 0
14 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

Da li iko zna gdje mi je ovdje greška?

 

#include <cstdlib>
#include <iostream>

using namespace std;

int main()
{
char ime1[80];
char ime2[80];
cout<<"Unesite ime ";
cin>>ime1;
strcpy(ime2,ime1);
cout<<"Drugi niz: "<<ime2<<endl;

char word[80];
int i,length;
cout<<"Upišite svoju riječ";
cin.get(word,80);
length=strlen(word);
for(i=length;i>=0;i++)
{
cout<<word[i];
cout<<endl;
}

system("PAUSE");
return EXIT_SUCCESS;
}

I'm rapper. Screamer. Singer. I'm the dopest.
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje u C-u - od svega pomalo

U for petlji ide "i--" jer se smanjuje, pa ideš od dužine riječi do 0. 

Nista nije sveto sve je bruto i neto, sve je zabava!
Moj PC  
0 0 hvala 1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice