C program - greška kad dođe do % u printf

poruka: 409
|
čitano: 99.153
|
moderatori: XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf

a nećemo sad komplicirat Namigiva

Atomska bubamara
17 godina
offline
RE: C program - greška kad dođe do % u printf
jurluk kaže...

a nećemo sad komplicirat Namigiva

složi ga sa modulo, ima primjera ove druge vrste koliko hoćeš{#}

Poruka je uređivana zadnji put pet 12.11.2010 21:15 (Floki).
16 godina
odjavljen
offline
C program - greška kad dođe do % u printf

Napisao sam ovaj program:

 

#include <stdio.h>
#include <stdlib.h>
#define DIMENZIJA 25
#define DIMENZIJA2 25

int main()
{
   
  int i, j, k, unos, min, brojac,brojac2;
  int pom;
  int polje[DIMENZIJA];
  int polje2[DIMENZIJA2];
 
  brojac = 0;
  brojac2 = 0;
  do {
       printf("Unesi broj: ");
       scanf("%d",&unos);
       polje[brojac] = unos;
       if (unos) brojac=brojac+1; 
       if (unos%2==0){
                      polje2[brojac2]=unos;
                      if (unos) brojac2=brojac2+1;
                      }
     } while (unos && brojac<DIMENZIJA);

 
  for(i=0;i<brojac-1;i++) {
 
                      min = i;
                      for (j=i+1;j<brojac;j++)
                   if (polje[j] < polje[min]){
                                                 min = j;
                                                } 
                   pom = polje[i];
                   polje[i] = polje[min];
                   polje[min] = pom;
                      }
 
  printf("\n Uzlazno sortirano polje:\n");
  for (i=0;i<brojac;i++) {
                     printf("%d \n " , polje[i]);
                     }
 
  printf("\n Polje parnih brojeva:\n");
  for (k=0;k<brojac2;k++) {
                     printf("%d \n " , polje2[k]);
                     }
 
  printf("\n Parnih brojeva u polju ima: %d \n", brojac2);
 
 
 
  system("PAUSE"); 
  return 0;
}

Kako da ubacim stvaranje slučajnih DVOZNAMENKASTIH brojeva koji se spremaju u polje? Znam da ima neke veze sa srand, time(null) itd. Slobodno sve ubacite u ovaj moj program. I može li mi onda netko predložiti kako da proširim kod? Tako da bude što više banalnije napisano- sam ću proširiti i++, ali može li se još što napraviti. Također bi trebao i opis što program radi. Unaprijed havala!

 

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
vexx5555 kaže...

Kako da ubacim stvaranje slučajnih DVOZNAMENKASTIH brojeva koji se spremaju u polje? Znam da ima neke veze sa srand, time(null) itd.

  srand() ti treba za "posijati" generator "nasumičnih" brojeva.

 

Najcesce se koristi sistemski sat za to, te stoga se upotrebljava u formi

srand((unsigned)time(NULL));

To obaviš negdje na početku programa.

 

Kasnije u petlji prođeš kroz cijeli niz i dodjeliš svakom članu broj preko funkcije rand:

polje[i]=(rand()%90)+10);

 

Dakle rand generira broj, sa modulo djeljenjem dobijamo broj od 0-89, i tom broju pribrajamo 10 pa nam je konačni broj koji upisujemo u polje u rasponu od 10-99.

 

Poruka je uređivana zadnji put sri 17.11.2010 14:52 (Dr. Zoidberg).
16 godina
neaktivan
offline
C program - greška kad dođe do % u printf

jel može netko rješit ovaj zadatak? danas sam ga imao na labosu i nisam ga znao rješit do kraja, samo sam djelomično... Sramim se

Atomska bubamara
 
0 0 hvala 0
16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
jurluk kaže...

jel može netko rješit ovaj zadatak? danas sam ga imao na labosu i nisam ga znao rješit do kraja, samo sam djelomično... Sramim se

 Grgec?  

Čim je težak zadatak, on je kriv. Ja bi znao riješiti sve osim polja. Za ispis brojava staviš for sa brojačem i jednim if-om za v.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
Poruka je uređivana zadnji put pet 19.11.2010 23:49 (vexx5555).
16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
ma smilevski
Atomska bubamara
16 godina
neaktivan
offline
C program - greška kad dođe do % u printf

Dečki jel ko zna di ima kakva kopiraona(TVZ) di mogu nabaviti skripte iz C-a?

Moj PC  
0 0 hvala 0
16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
dedaa kaže...

Dečki jel ko zna di ima kakva kopiraona(TVZ) di mogu nabaviti skripte iz C-a?

 Blizu STŠ, kod nekih zgrada ima baba skriptarka.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
17 godina
offline
C program - greška kad dođe do % u printf

Ne kužim ovu notaciju

 

define MAX 20

 

polje[MAX*MAX] to bi bilo 400 elemenata ili na što je mislio?

 
0 0 hvala 0
16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
Floki kaže...

Ne kužim ovu notaciju

 

define MAX 20

 

polje[MAX*MAX] to bi bilo 400 elemenata ili na što je mislio?

 Jep. Redci*stupci.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
jurluk kaže...

jel može netko rješit ovaj zadatak? danas sam ga imao na labosu i nisam ga znao rješit do kraja, samo sam djelomično... Sramim se

Evo moj pokušaj :D

 

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

#define MAX 20

int prebroji(int* niz, int x,int duljina)
{
    int i,koliko=0;
    for(i=0;i<duljina;++i)
     if( niz[i]==x) ++koliko;
    
    return koliko;
}

int main()
{
    int N, i, j, najvise;
    int niz[(MAX+1)*(MAX+1)], ponavljanja[MAX+1];
    unsigned int iseed = (unsigned int)time(NULL);
    srand (iseed);

   
    do
    {
       printf("Ucitaj N: "); scanf("%d",&N);
    }while (N<5 || N>20);
   
   
    for (i=0;i<MAX*N;++i)
      niz[i]=rand()%(N+1); //ide +1 jer uključujemo i N
     
    najvise=-1;
    //prebrojavanje uz ispis brojeva, te nalazenje koliko puta se pojavio najveći broj
    for(i=0;i<=N;++i)
    {
      ponavljanja[i]=prebroji(niz,i,MAX*N);
      if (ponavljanja[i]>najvise) najvise=ponavljanja[i];
     
      printf("%4d",i);
    }
    printf("\n");
   
    for(i=0;i<=N;++i)
       printf("%4d",ponavljanja[i]);
   
    printf("\n\n");
   
    for(i=0;i<=N;++i)
       printf("____");
    printf("\n");
   
   
    for( j=0;j<najvise;++j )
    {
       for( i=0;i<=N;++i )
       {
          if (ponavljanja[i]>j+1) printf("   |");
          if (ponavljanja[i]==j+1) printf("   v");
          if (ponavljanja[i]<j+1 || ponavljanja[i]==0) printf("    ");
       }
       printf("\n");
    }
    printf("\n\n");
   
    system ("pause");
    return 0;
}

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
offline
RE: C program - greška kad dođe do % u printf
vexx5555 kaže...
Floki kaže...

Ne kužim ovu notaciju

 

define MAX 20

 

polje[MAX*MAX] to bi bilo 400 elemenata ili na što je mislio?

 Jep. Redci*stupci.

Onda mi se ne slaže ovo , kaže da treba generirati MAX*10 elemenata, a u primjeru ih ima 100 generiranih

ili negdje činim previd

16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
Luuka kaže...
jurluk kaže...

jel može netko rješit ovaj zadatak? danas sam ga imao na labosu i nisam ga znao rješit do kraja, samo sam djelomično... Sramim se

Evo moj pokušaj :D

to je to, da, samo što je prof rekao da ne smijemo uvodit nove funkcije, sve mora biti unutar main. 

 

i sad vidim da sam nešto izostavio, kad sam slikao, nije se uhvatio zadnji red. dole trebaju bit crtice

Atomska bubamara
16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
jurluk kaže...
Luuka kaže...
jurluk kaže...

jel može netko rješit ovaj zadatak? danas sam ga imao na labosu i nisam ga znao rješit do kraja, samo sam djelomično... Sramim se

Evo moj pokušaj :D

to je to, da, samo što je prof rekao da ne smijemo uvodit nove funkcije, sve mora biti unutar main. 

 

i sad vidim da sam nešto izostavio, kad sam slikao, nije se uhvatio zadnji red. dole trebaju bit crtice

Dobro, to je još jedna for petlja na kraju koja ispisuje nešto tipa " __ ".

A ako bez funkcija, onda kod prebrojavanja staviš još tu petlju unutar prve petlje. Ovako je kraće :D

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
17 godina
offline
C program - greška kad dođe do % u printf

Ja sam složio nešto ovako, (u C++ mi lakše), a izostavio sam do-while provjeru i crtanje:

 

 

#include<iostream>
#include<ctime>
#define MAX 20
using namespace std;


int main()
{
    int polje[MAX*MAX] ={0};
    int n = 10, i, j, brojac=0;
    int *rezultat = new int [n+1];

    srand(time(NULL));
    for(i=0; i<MAX*n;i++)
       polje[i] = rand()% (n + 1);

    for(i=0; i<=n; i++) {
       brojac = 0;
       for(j=0; j<MAX*n; j++)
          if(i == polje[j])
             brojac++;
       rezultat[i] = brojac;
    }
    for(i=0; i<=n; i++)
       cout<< i << "  ";
    cout<< endl;
    for(i=0; i<=n; i++)
       cout<< rezultat[i] << " ";

    delete [] rezultat;

    return 0;
   
}

Poruka je uređivana zadnji put čet 18.11.2010 22:59 (Floki).
 
0 0 hvala 1
17 godina
offline
C program - greška kad dođe do % u printf

Evo i sa "grafikom":

 

 

#include<iostream>
#include<iomanip>
#include<ctime>
#define MAX 20
using namespace std;


int main()
{
    int polje[MAX*MAX] ={0};
    int n=0, i, j, brojac=0;

    cout<< "Unesi N: ";
    cin>> n;

    while(n<5 || n>20)
    {
       cout<< "N mora biti u intervalu <5,20>!" << endl;
       cout<< "Unesi ponovno N: ";
       cin>> n;
    }
    int *rezultat = new int [n+1];
    srand(time(NULL));
    for(i=0; i<MAX*n;i++)
       polje[i] = rand()% (n + 1);
    int najvisi = 0;

    for(i=0; i<=n; i++) {
       brojac = 0;
       for(j=0; j<MAX*n; j++)
          if(i == polje[j])
             brojac++;
       rezultat[i] = brojac;
      if(najvisi<rezultat[i])
         najvisi = rezultat[i];
     
    }
   
    for(i=0; i<=n; i++)
       cout<< setw(3) << i;
    cout<< endl;
    for(i=0; i<=n; i++)
       cout<< setw(3)  << rezultat[i];
    cout<< endl;
    for(i=0; i<=n; i++)
       cout<< "___";
    cout<< endl;
    int pomocni = 1;
   
    do
    {
       for(i=0; i<=n; i++)
          if(rezultat[i]>pomocni)
             cout<< setw(3) << "|";
          else
             if(rezultat[i]==pomocni)
                cout<< setw(3) << "v";
             else
                cout<< setw(3) << " ";
       cout<< endl;
       pomocni++;
    }while(pomocni<=najvisi);
   
    delete [] rezultat;
    return 0;
  
}

Poruka je uređivana zadnji put sub 20.11.2010 22:58 (Floki).
 
0 0 hvala 1
16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
Floki kaže...

Evo i sa grafikom:

 

 

Ništa od toga, to je c++. Mora baš biti u c-u. Zadnje što smo radili su polja. Sve poslije toga se ne smije koristiti.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
17 godina
offline
RE: C program - greška kad dođe do % u printf
vexx5555 kaže...
Floki kaže...

Evo i sa grafikom:

 

 

Ništa od toga, to je c++. Mora baš biti u c-u. Zadnje što smo radili su polja. Sve poslije toga se ne smije koristiti.

jedino što se razlikuje je uvesti printf umjesto cout, scanf umjesto cin i malloc umjesto new

ostalo je sve isto

Poruka je uređivana zadnji put sub 20.11.2010 23:02 (Floki).
16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
Floki kaže...
jedino što se razlikuje je uvesti printf umjesto cout, scanf umjesto cin i malloc umjesto new

ostalo je sve isto

 Osim činjenice da u c-u ne šljaka grafika.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
17 godina
offline
RE: C program - greška kad dođe do % u printf
vexx5555 kaže...
Floki kaže...
jedino što se razlikuje je uvesti printf umjesto cout, scanf umjesto cin i malloc umjesto new

ostalo je sve isto

 Osim činjenice da u c-u ne šljaka grafika.

ne , nisi skužio, grafika sam stavio pod navodnike, to je isto ispis okomite crte i slova v na isti način u konzoli

ma Lujo je dao OK kod, a ja sam napisao u C++, ali ga uopće nije problem prevesti, bitan je mehanizam, a on je isti i u C i C++,

16 godina
odjavljen
offline
RE: C program - greška kad dođe do % u printf
Floki kaže...
ne , nisi skužio, grafika sam stavio pod navodnike, to je isto ispis okomite crte i slova v na isti način u konzoli

ma Lujo je dao OK kod, a ja sam napisao u C++, ali ga uopće nije problem prevesti, bitan je mehanizam, a on je isti i u C i C++,

 Ups, moj bed. Sorry, krivo sam shvatio. Mislio sam da je to ona grafika kao u c++.

Ukoliko vam je mobitel u kvaru, ili ga želite prodati, zovite ovaj broj- 091 172 6697
17 godina
offline
RE: C program - greška kad dođe do % u printf
vexx5555 kaže...
Floki kaže...
ne , nisi skužio, grafika sam stavio pod navodnike, to je isto ispis okomite crte i slova v na isti način u konzoli

ma Lujo je dao OK kod, a ja sam napisao u C++, ali ga uopće nije problem prevesti, bitan je mehanizam, a on je isti i u C i C++,

 Ups, moj bed. Sorry, krivo sam shvatio. Mislio sam da je to ona grafika kao u c++.

nema veze, ja sam se samo malo poigrao, vidio sam da nije bed, da je Lujo to riješio

ali, kažem, nije to problem prevesti, uglavnom, najbitnije je skužiti mehanizam rješenja zadatka

a petlje i polja su isti

jedina razlika ovdje je cout umjesto printf, cin umjesto scanf i new umjesto malloc

14 godina
neaktivan
offline
C program - greška kad dođe do % u printf

#include <stdio.h>
#define MAX 20
int main()
{
    srand((unsigned)time(NULL));
    int n, count, line, row, largest;
    int array[MAX*MAX], occurence[21] = {0};
    while (1) {
       printf("Unesite broj u intervalu [5, MAX]: ");
       scanf("%d", &n);
       if ((n <= MAX) && (n >= 5))
          break;
       printf("Unijeli ste pogresan broj. ");
    }
    for (count = 0; count < (MAX * n); count++) {
       array[count] = rand() % (n + 1);
       occurence[array[count]] += 1;
    }
    for (count = 0, largest = 0; count < (n + 1); count++) {
       if (occurence [count] > largest)
          largest = occurence [count];
    }
    for (count = 0; count < (n + 1); count++)
       printf(" %2d", count);
    printf("\n");
    for (count = 0; count < (n + 1); count++)
       printf(" %2d", occurence[count]);
    printf("\n");
    for (count = 0; count < ((n + 1) * 3); count++)
       printf("_");
    printf("\n");
    for (line = 0; line < (largest+1); line++) {
       for (row = 0; row < (n + 1); row++) {
          if (line < occurence [row])
             printf("  |");
          else if (line == occurence [row])
             printf("  v");
          else
             printf("   ");
       }
       printf(" \n");
    }
    for (count = 0; count < ((n + 1) * 3); count++)
       printf("-");
    return 0;
}

Eto... laka 2 boda {#}

 
1 0 hvala 1
17 godina
offline
C program - greška kad dođe do % u printf

while (1) {
       printf("Unesite broj u intervalu [5, MAX]: ");
       scanf("%d", &n);
       if ((n <= MAX) && (n >= 5))
          break;
       printf("Unijeli ste pogresan broj. ");





Ne ovo raditi, ne treba na silu prekidati petlju sa break, kad se to može izvesti bez prekidanja petlje.

Obično se koristi do-while za ovu stvar:

do
{
printf("Unesite broj u intervalu [5, MAX]: ");
scanf("%d", &n);
}while(n>MAX && n<5);               // petlja se ponavlja dok se ne unese broj iz zadanog intervala


A meni se za ove provjere svidjela fora MrBlc-a:


printf("Unesite broj u intervalu [5, MAX]: ");
scanf("%d", &n);

while(n>MAX || n<5)
{
printf("Unijeli ste broj izvan intervala [5, MAX]!");             // ulazi se u petlju while tek ako je prvi put unesena pogrešna vrijednost
printf("\nPonovno unesite broj u zadanom intervalu: ");
scanf("%d", &n);
}

Poruka je uređivana zadnji put ned 21.11.2010 13:49 (Floki).
 
0 0 hvala 0
17 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf
Floki kaže...

while (1) {
       printf("Unesite broj u intervalu [5, MAX]: ");
       scanf("%d", &n);
       if ((n <= MAX) && (n >= 5))
          break;
       printf("Unijeli ste pogresan broj. ");





Ne ovo raditi, ne treba na silu prekidati petlju sa break, kad se to može izvesti bez prekidanja petlje.

Obično se koristi do-while za ovu stvar:

 

Zasto ne? Zato break sluzi.

...Scooter Tuning is not A Crime!!...
14 godina
neaktivan
offline
C program - greška kad dođe do % u printf

onda kako izgleda najbolje napisani program koji unosi broj sve dok se ne unese željeni broj, i ako ne zadovolji uvjet, ispisati poruku o tome? I da se pri tome istinitost uvjeta provjerava samo na jednom mjestu.

 
0 0 hvala 0
17 godina
offline
RE: C program - greška kad dođe do % u printf
Lion King kaže...
Floki kaže...

while (1) {
       printf("Unesite broj u intervalu [5, MAX]: ");
       scanf("%d", &n);
       if ((n <= MAX) && (n >= 5))
          break;
       printf("Unijeli ste pogresan broj. ");





Ne ovo raditi, ne treba na silu prekidati petlju sa break, kad se to može izvesti bez prekidanja petlje.

Obično se koristi do-while za ovu stvar:

 

Zasto ne? Zato break sluzi.

zato što je on "pod moraš", ako može bez njega, ne koristi se

17 godina
offline
RE: C program - greška kad dođe do % u printf
New York kaže...

onda kako izgleda najbolje napisani program koji unosi broj sve dok se ne unese željeni broj, i ako ne zadovolji uvjet, ispisati poruku o tome? I da se pri tome istinitost uvjeta provjerava samo na jednom mjestu.

while iz gornjeg primjera, to je MrBlc-a fora,

16 godina
neaktivan
offline
RE: C program - greška kad dođe do % u printf

Meni je najzgodnija do, while varijanta. Jednom će izvršit sigurno, i nastavit odmah dalje ako je sve ok. Slično ko MrBlc-ov način, ali kompaktnije zapisano.

http://manutd-croatia.com/forum/index.php ... forum i udruga navijača Manchester Uniteda...
Nova poruka
E-mail:
Lozinka:
 
vrh stranice