Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
michelangelo Forumaš(ica)
Pridružen/a: 25. 06. 2009. (22:59:23) Postovi: (69)16
Spol:
|
|
[Vrh] |
|
ceps Forumaš(ica)
Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
|
[Vrh] |
|
michelangelo Forumaš(ica)
Pridružen/a: 25. 06. 2009. (22:59:23) Postovi: (69)16
Spol:
|
|
[Vrh] |
|
pajopatak Forumaš(ica)
Pridružen/a: 25. 10. 2009. (22:20:04) Postovi: (BE)16
|
|
[Vrh] |
|
pajopatak Forumaš(ica)
Pridružen/a: 25. 10. 2009. (22:20:04) Postovi: (BE)16
|
Postano: 20:21 čet, 28. 4. 2011 Naslov: |
|
|
[code:1]#include<stdio.h>
#include<string.h>
#include<ctype.h>
void brisi(char *s,char c1,char c2){
int i,j,duljina=0,nova=0,pisi=0;
for(i=0;s[i]!='\0';i++){
char c=s[i];
if(c==c2){
nova++;
}
nova++;
duljina++;
}
i=duljina;
j=nova;
while(i>=0){
s[j]=s[i];
char c=s[j];
if(c==c2){
--j;
s[j]=c2;
}
--i;
--j;
}
for(i=0;s[i]!='\0';i++)
if(s[i]!=c1){
s[pisi]=s[i];
pisi++;
}
s[pisi]='\0';
}
int main(void){
char *s;
char c1,c2,n,i;
printf("Unesi n: ");
scanf("%d",&n);
s=(char*)malloc(n*sizeof(char));
for(i=0;i<n;i++){
printf("Rijec: ");
scanf("%s",s[i]);
}
printf("Unesi c1: ");
scanf(" %c",&c1);
printf("Unesi c2: ");
scanf(" %c",&c2);
for(i=0;i<n;i++){
brisi(s[i],c1,c2);
printf("%s",s[i]);
}
free(s);
scanf("%%");
return 0;
}[/code:1]
Kod: | #include<stdio.h>
#include<string.h>
#include<ctype.h>
void brisi(char *s,char c1,char c2){
int i,j,duljina=0,nova=0,pisi=0;
for(i=0;s[i]!='\0';i++){
char c=s[i];
if(c==c2){
nova++;
}
nova++;
duljina++;
}
i=duljina;
j=nova;
while(i>=0){
s[j]=s[i];
char c=s[j];
if(c==c2){
--j;
s[j]=c2;
}
--i;
--j;
}
for(i=0;s[i]!='\0';i++)
if(s[i]!=c1){
s[pisi]=s[i];
pisi++;
}
s[pisi]='\0';
}
int main(void){
char *s;
char c1,c2,n,i;
printf("Unesi n: ");
scanf("%d",&n);
s=(char*)malloc(n*sizeof(char));
for(i=0;i<n;i++){
printf("Rijec: ");
scanf("%s",s[i]);
}
printf("Unesi c1: ");
scanf(" %c",&c1);
printf("Unesi c2: ");
scanf(" %c",&c2);
for(i=0;i<n;i++){
brisi(s[i],c1,c2);
printf("%s",s[i]);
}
free(s);
scanf("%%");
return 0;
} |
|
|
[Vrh] |
|
piper at the gates Forumaš(ica)
Pridružen/a: 14. 03. 2009. (20:02:03) Postovi: (1F)16
Spol:
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
štrumfeta Forumaš(ica)
Pridružen/a: 02. 11. 2011. (19:36:55) Postovi: (36)16
|
Postano: 18:04 pet, 6. 1. 2012 Naslov: |
|
|
[code:1]#include <stdio.h>
int main(){
int x[1000],n,i,y,index,trazeni;
printf( "n = " );
scanf( "%d", &n );
for(i=0;i<n;i++){ printf("x[%d]= ",i);
scanf("%d",&x[i]);
}
printf( "y = " );
scanf( "%d", &y );
i=0;
trazeni=0;
while(i<n && !trazeni){
if(y==x[i]){
index=i;
trazeni=1;
}
else i++;
}
if(trazeni) printf("element se nalazi u nizu na indexu %d\n",index);
else printf("element se ne nalazi u nizu!!!\n");
return 0;
}[/code:1]
zad 11.5.1program u nizu(koji nemora bit sortiran) ispisuje(ako postoji) traženu vrijednost..
pitanje mi je malo glupo,ugl. u kodu sam gore stavila da mi varijabla "index" čuva mjesto na kojem se nalazi(ako postoji) traženi element iako nije potrebna jer varijabla "i" ionako kad se prekine petlja čuva to mjesto.jel će u kolokviju to nosit koji negativan bod il?i općenito,ako je kod točan al može bit i brži i pametnije smišljen jel dobivamo sve bodove ili..?
hvala
Kod: | #include <stdio.h>
int main(){
int x[1000],n,i,y,index,trazeni;
printf( "n = " );
scanf( "%d", &n );
for(i=0;i<n;i++){ printf("x[%d]= ",i);
scanf("%d",&x[i]);
}
printf( "y = " );
scanf( "%d", &y );
i=0;
trazeni=0;
while(i<n && !trazeni){
if(y==x[i]){
index=i;
trazeni=1;
}
else i++;
}
if(trazeni) printf("element se nalazi u nizu na indexu %d\n",index);
else printf("element se ne nalazi u nizu!!!\n");
return 0;
} |
zad 11.5.1program u nizu(koji nemora bit sortiran) ispisuje(ako postoji) traženu vrijednost..
pitanje mi je malo glupo,ugl. u kodu sam gore stavila da mi varijabla "index" čuva mjesto na kojem se nalazi(ako postoji) traženi element iako nije potrebna jer varijabla "i" ionako kad se prekine petlja čuva to mjesto.jel će u kolokviju to nosit koji negativan bod il?i općenito,ako je kod točan al može bit i brži i pametnije smišljen jel dobivamo sve bodove ili..?
hvala
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
štrumfeta Forumaš(ica)
Pridružen/a: 02. 11. 2011. (19:36:55) Postovi: (36)16
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
Postano: 11:49 sub, 7. 4. 2012 Naslov: |
|
|
ovak u zadatku 4.2.7 iz skripte, program koji sam napisala radi, al imam probleme s ispisom: npr. ak ima 9 znamenki: sortirano ispise 8 znamenki bez zadnje i s tim da mi na prvo mjesto napiše neku glupost od broja. ak se nekome da vidit u čemu je problem bila bi zahvalna :)
[code:1]
#include <stdio.h>
#include <stdlib.h>
int *aloc_rast_sort ( int broj, int n )
{
int i, *x, nered, tmp;
x=(int *) malloc (n*sizeof (int));
if (x==NULL)
{
printf ("greska"); exit (-1);
}
i=0;
while (broj)
{
x[i]=broj%10;
broj/=10;
i++;
}
while (nered) {
nered=0;
for (i=0;i<n;++i)
if (x[i] < x[i+1])
{
tmp=x[i];
x[i]=x[i+1];
x[i+1]=tmp;
nered=1;
}
}
return x;
}
int main (void)
{
int broj, i, br=0, *x, cbr;
scanf ("%d", &broj);
cbr=broj;
while (cbr)
{
cbr/=10;
br++;
}
x=aloc_rast_sort( broj, br );
for (i=0; i<br; i++) printf ( "%d ", *(x+i) );
free (x);
return 0;
}
[/code:1]
zad: Napisite program koji ucitava broj x ∈ N, te ispisuje njegove znamenke u silazno sortiranom redoslijedu. Smijete koristiti jedan pomocni niz, ali za njega morate
alocirati tocno onoliko memorije koliko je nuzno.
ovak u zadatku 4.2.7 iz skripte, program koji sam napisala radi, al imam probleme s ispisom: npr. ak ima 9 znamenki: sortirano ispise 8 znamenki bez zadnje i s tim da mi na prvo mjesto napiše neku glupost od broja. ak se nekome da vidit u čemu je problem bila bi zahvalna
Kod: |
#include <stdio.h>
#include <stdlib.h>
int *aloc_rast_sort ( int broj, int n )
{
int i, *x, nered, tmp;
x=(int *) malloc (n*sizeof (int));
if (x==NULL)
{
printf ("greska"); exit (-1);
}
i=0;
while (broj)
{
x[i]=broj%10;
broj/=10;
i++;
}
while (nered) {
nered=0;
for (i=0;i<n;++i)
if (x[i] < x[i+1])
{
tmp=x[i];
x[i]=x[i+1];
x[i+1]=tmp;
nered=1;
}
}
return x;
}
int main (void)
{
int broj, i, br=0, *x, cbr;
scanf ("%d", &broj);
cbr=broj;
while (cbr)
{
cbr/=10;
br++;
}
x=aloc_rast_sort( broj, br );
for (i=0; i<br; i++) printf ( "%d ", *(x+i) );
free (x);
return 0;
}
|
zad: Napisite program koji ucitava broj x ∈ N, te ispisuje njegove znamenke u silazno sortiranom redoslijedu. Smijete koristiti jedan pomocni niz, ali za njega morate
alocirati tocno onoliko memorije koliko je nuzno.
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
Postano: 11:56 sub, 7. 4. 2012 Naslov: |
|
|
Meni ok radi, npr. za brojeve 987654321 i 523714689. Mozes dati konkretan broj za koji ti ne radi i napisati sto ispisuje?
Usput, [tt]nered[/tt] treba inicijalizirati, inace ti se moze desiti da ne sortira (ako slucajno pocetna vrijednost te varijable bude 0).
Meni ok radi, npr. za brojeve 987654321 i 523714689. Mozes dati konkretan broj za koji ti ne radi i napisati sto ispisuje?
Usput, nered treba inicijalizirati, inace ti se moze desiti da ne sortira (ako slucajno pocetna vrijednost te varijable bude 0).
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
|
|
[Vrh] |
|
ivanaaaa Forumaš(ica)
Pridružen/a: 24. 10. 2011. (19:36:26) Postovi: (31)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (355F)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Ryssa Forumaš(ica)
Pridružen/a: 18. 12. 2011. (00:10:28) Postovi: (57)16
|
Postano: 11:34 čet, 12. 4. 2012 Naslov: |
|
|
Može pomoć oko zadatka iz skripte 5.3.7...treba za zadani string n-terostručit zadano slovo...evo mog koda ali neznam zašto nemogu nakon upisa stringa upisati slovo :S
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void funkcija(char s[], char c, int n) {
int i ,j=0, k;
for(i=0; s[i]; i++) {
if(tolower(s[i])==tolower(c))
j+=n-1;
}
for(; i>=0;i--) {
s[i+j]=s[i];
if(tolower(s[i])==tolower(c)) {
for(k=0;k<(n-1);k++)
s[i+(--j)]=s[i];
} } }
int main(void) {
char s[30],l;
int n;
printf("upisi string: ");
scanf("%s", s);
printf("upisi slovo: ");
scanf("%c", &l);
printf("upisi n: ");
scanf("%d", &n);
funkcija(s,l,n);
puts(s);
return 0;
}
Može pomoć oko zadatka iz skripte 5.3.7...treba za zadani string n-terostručit zadano slovo...evo mog koda ali neznam zašto nemogu nakon upisa stringa upisati slovo :S
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void funkcija(char s[], char c, int n) {
int i ,j=0, k;
for(i=0; s[i]; i++) {
if(tolower(s[i])==tolower(c))
j+=n-1;
}
for(; i>=0;i–) {
s[i+j]=s[i];
if(tolower(s[i])==tolower(c)) {
for(k=0;k<(n-1);k++)
s[i+(–j)]=s[i];
} } }
int main(void) {
char s[30],l;
int n;
printf("upisi string: ");
scanf("%s", s);
printf("upisi slovo: ");
scanf("%c", &l);
printf("upisi n: ");
scanf("%d", &n);
funkcija(s,l,n);
puts(s);
return 0;
}
|
|
[Vrh] |
|
gflegar Forumaš(ica)
Pridružen/a: 12. 10. 2011. (15:03:41) Postovi: (10D)16
Spol:
|
|
[Vrh] |
|
Ryssa Forumaš(ica)
Pridružen/a: 18. 12. 2011. (00:10:28) Postovi: (57)16
|
|
[Vrh] |
|
Zenon Forumaš(ica)
Pridružen/a: 09. 09. 2011. (19:14:43) Postovi: (2B1)16
Sarma: -
Lokacija: [tex]\pm\infty[/tex]
|
|
[Vrh] |
|
mdoko Forumaš(ica)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol:
Lokacija: Heriot-Watt University, Edinburgh
|
|
[Vrh] |
|
Ryssa Forumaš(ica)
Pridružen/a: 18. 12. 2011. (00:10:28) Postovi: (57)16
|
|
[Vrh] |
|
|