Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
Gost
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
nana Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35) Postovi: (2AD)16
Spol: 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 21:33 pet, 9. 6. 2006 Naslov: |
|
|
[quote="nana"][quote="Anonymous"]Sad nisam skuzio. Jel smijemo uvesti neko ogranicenje na duljinu pojedinog stringa? Onako kako je na vjezbama, npr. char s[100]. Pitam jer sam u prosloj zadaci imao problema sa slicnom stvari pa me zanima...
Molim da mi netko odgovori,osto mi je jos taj zadatak pa da to veceras rijesim.[/quote]
ne smijes. pogledaj na prvoj strani(topica), napisano je kako se rijesi taj zadatak[/quote]
Zapravo smije kod ucitavanja, jer nas taj dio ne zanima [b]kako[/b] je izveden, nego nam treba tek toliko da mozemo isprobati ono sto je bitno. 8) Naravno, u samoj listi i funkcijama koje se bave listom, ogranicenja ne smije biti. ;)
To je vec odgovoreno [url=http://degiorgi.math.hr/forum/viewtopic.php?p=56192#56192]ovdje[/url] (druga strana topica, but thanx nana). :)
nana (napisa): | Anonymous (napisa): | Sad nisam skuzio. Jel smijemo uvesti neko ogranicenje na duljinu pojedinog stringa? Onako kako je na vjezbama, npr. char s[100]. Pitam jer sam u prosloj zadaci imao problema sa slicnom stvari pa me zanima...
Molim da mi netko odgovori,osto mi je jos taj zadatak pa da to veceras rijesim. |
ne smijes. pogledaj na prvoj strani(topica), napisano je kako se rijesi taj zadatak |
Zapravo smije kod ucitavanja, jer nas taj dio ne zanima kako je izveden, nego nam treba tek toliko da mozemo isprobati ono sto je bitno. Naravno, u samoj listi i funkcijama koje se bave listom, ogranicenja ne smije biti.
To je vec odgovoreno ovdje (druga strana topica, but thanx nana).
_________________ 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] |
|
Gost
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 16:35 sub, 10. 6. 2006 Naslov: |
|
|
Pa, ovako na pamet zvuci dobro. :) Zadatak spominje i nekakvu funkciju: ako ni tamo nemas ogranicenja (nego iskljucivo u ucitavanju podataka u listu), onda je dobro. 8)
Ako ovo nekoga i dalje zbunjuje, onda nemojte uopce uvoditi ogranicenja, a ucitavanje podataka (prilikom trpanja u listu) napravite po uzoru na [tt]vjezbe10/62__malloc_stringovi.c[/tt]. 8) Modifikacija tog programa nije skroz trivijalna (npr. treba vam [tt]fgets()[/tt] ili nesto drugo umjesto [tt]gets()[/tt], morate sami odvajati rijeci,...) i osobno smatram to nepotrebnim kompliciranjem, no ako nekoga bas veseli... :neznam:
Pa, ovako na pamet zvuci dobro. Zadatak spominje i nekakvu funkciju: ako ni tamo nemas ogranicenja (nego iskljucivo u ucitavanju podataka u listu), onda je dobro.
Ako ovo nekoga i dalje zbunjuje, onda nemojte uopce uvoditi ogranicenja, a ucitavanje podataka (prilikom trpanja u listu) napravite po uzoru na vjezbe10/62__malloc_stringovi.c. Modifikacija tog programa nije skroz trivijalna (npr. treba vam fgets() ili nesto drugo umjesto gets(), morate sami odvajati rijeci,...) i osobno smatram to nepotrebnim kompliciranjem, no ako nekoga bas veseli...
_________________ 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] |
|
Gost
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
Postano: 12:57 pet, 23. 6. 2006 Naslov: |
|
|
ovo je prvi:
[code:1]
#include <stdio.h>
#include<string.h>
#include<malloc.h>
typedef struct __rijec{
char *str;
struct __rijec *next;
} rijec;
rijec *invertiraj(rijec *start){
rijec *prvi, *drugi;
if(start==NULL) return NULL;
else{
if(start->next==NULL) return start;
else{
prvi=start->next;
start->next=NULL;
drugi=prvi->next;
while(1){
prvi->next=start;
if(drugi==NULL) break;
start=prvi;
prvi=drugi;
drugi=prvi->next;}
return prvi;}
}
}
int main(){
rijec *start, *pomocni, *kraj, *start2;
char temp[100];
start=kraj=NULL;
printf("Unesi recenicu (0 za kraj): ");
while(1){
scanf("%s", temp);
if(!strcmp(temp, "0")) break;
pomocni=(rijec*)malloc(sizeof(rijec));
pomocni->str=(char*)malloc(sizeof(char)*(strlen(temp)+1));
strcpy(pomocni->str, temp);
if(start==NULL){
start=pomocni;
start->next=NULL;
kraj=start;}
else{
kraj->next=pomocni;
pomocni->next=NULL;
kraj=pomocni;}
}
printf("Uneseni text: \n");
for(pomocni=start; pomocni!=NULL; pomocni=pomocni->next){
printf("%s ", pomocni->str);
}
start2=invertiraj(start);
printf("\nInvertirani text: \n");
for(pomocni=start2; pomocni!=NULL; pomocni=pomocni->next){
printf("%s ", pomocni->str);
}
printf("\n");
while(start2!=NULL){
pomocni=start2;
start2=start2->next;
free(pomocni);
}
system("PAUSE");
return 0;
}
[/code:1]
ovo je prvi:
Kod: |
#include <stdio.h>
#include<string.h>
#include<malloc.h>
typedef struct __rijec{
char *str;
struct __rijec *next;
} rijec;
rijec *invertiraj(rijec *start){
rijec *prvi, *drugi;
if(start==NULL) return NULL;
else{
if(start->next==NULL) return start;
else{
prvi=start->next;
start->next=NULL;
drugi=prvi->next;
while(1){
prvi->next=start;
if(drugi==NULL) break;
start=prvi;
prvi=drugi;
drugi=prvi->next;}
return prvi;}
}
}
int main(){
rijec *start, *pomocni, *kraj, *start2;
char temp[100];
start=kraj=NULL;
printf("Unesi recenicu (0 za kraj): ");
while(1){
scanf("%s", temp);
if(!strcmp(temp, "0")) break;
pomocni=(rijec*)malloc(sizeof(rijec));
pomocni->str=(char*)malloc(sizeof(char)*(strlen(temp)+1));
strcpy(pomocni->str, temp);
if(start==NULL){
start=pomocni;
start->next=NULL;
kraj=start;}
else{
kraj->next=pomocni;
pomocni->next=NULL;
kraj=pomocni;}
}
printf("Uneseni text: \n");
for(pomocni=start; pomocni!=NULL; pomocni=pomocni->next){
printf("%s ", pomocni->str);
}
start2=invertiraj(start);
printf("\nInvertirani text: \n");
for(pomocni=start2; pomocni!=NULL; pomocni=pomocni->next){
printf("%s ", pomocni->str);
}
printf("\n");
while(start2!=NULL){
pomocni=start2;
start2=start2->next;
free(pomocni);
}
system("PAUSE");
return 0;
}
|
Zadnja promjena: ta2a; 21:11 pet, 23. 6. 2006; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
Postano: 12:58 pet, 23. 6. 2006 Naslov: |
|
|
drugi:
[code:1]
#include<stdio.h>
#include<stdlib.h>
#include <malloc.h>
void check(void* p) {
if(p == NULL) {
printf("Greska u alokaciji memorije!\n");
exit(1);
}
}
int jedinice(int* X, int n){
int br=0, l;
for(l=0; l<n; l++){
if(X[l]==1) br++;
}
return br;
}
int podmatrica(int** X, int n, int r1, int r2, int s1, int s2){
int i,j,br=0;
for(i=r1; i<=r2; i++){
for(j=s1; j<=s2; j++){
if(X[i][j]==1) br++;
}
}
return br;
}
int main () {
int n,i,j,k;
int r, jed;
int r1,r2,s1,s2,matr;
int** X;
printf("Unesite rang matrice X: ");
scanf("%d", &n);
X = (int**) malloc(n*sizeof(int*));
check(X);
for (i=0; i<n; i++) {
X[i]= (int*) malloc(n*sizeof(int));
check(X[i]);
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){ X[i][j]=0;}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
if(i==j && ((i%2)!=0)){
X[i][j]=1;
for(k=i-1; k>=0; k--){
X[k][j]=1;
X[i][k]=1;
}
}
}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%d ", X[i][j]);}
printf("\n"); }
printf("Unesite broj retka:\n");
scanf("%d", &r);
jed=jedinice(X[r-1],n);
printf("U %d.retku ima %d jedinica\n", r, jed);
printf("Unesite r1, r2, s1, s2:\n");
scanf("%d %d %d %d", &r1,&r2,&s1,&s2);
matr=podmatrica(X,n,r1-1,r2-1,s1-1,s2-1);
printf("U zadanoj podmatrici ima %d jedinica.\n", matr);
system("PAUSE");
for (i=0; i<n; i++)
free(X[i]);
free(X);
return 0;
}
[/code:1]
drugi:
Kod: |
#include<stdio.h>
#include<stdlib.h>
#include <malloc.h>
void check(void* p) {
if(p == NULL) {
printf("Greska u alokaciji memorije!\n");
exit(1);
}
}
int jedinice(int* X, int n){
int br=0, l;
for(l=0; l<n; l++){
if(X[l]==1) br++;
}
return br;
}
int podmatrica(int** X, int n, int r1, int r2, int s1, int s2){
int i,j,br=0;
for(i=r1; i<=r2; i++){
for(j=s1; j<=s2; j++){
if(X[i][j]==1) br++;
}
}
return br;
}
int main () {
int n,i,j,k;
int r, jed;
int r1,r2,s1,s2,matr;
int** X;
printf("Unesite rang matrice X: ");
scanf("%d", &n);
X = (int**) malloc(n*sizeof(int*));
check(X);
for (i=0; i<n; i++) {
X[i]= (int*) malloc(n*sizeof(int));
check(X[i]);
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){ X[i][j]=0;}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
if(i==j && ((i%2)!=0)){
X[i][j]=1;
for(k=i-1; k>=0; k--){
X[k][j]=1;
X[i][k]=1;
}
}
}
}
for(i=0; i<n; i++){
for(j=0; j<n; j++){
printf("%d ", X[i][j]);}
printf("\n"); }
printf("Unesite broj retka:\n");
scanf("%d", &r);
jed=jedinice(X[r-1],n);
printf("U %d.retku ima %d jedinica\n", r, jed);
printf("Unesite r1, r2, s1, s2:\n");
scanf("%d %d %d %d", &r1,&r2,&s1,&s2);
matr=podmatrica(X,n,r1-1,r2-1,s1-1,s2-1);
printf("U zadanoj podmatrici ima %d jedinica.\n", matr);
system("PAUSE");
for (i=0; i<n; i++)
free(X[i]);
free(X);
return 0;
}
|
Zadnja promjena: ta2a; 21:12 pet, 23. 6. 2006; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
Postano: 12:59 pet, 23. 6. 2006 Naslov: |
|
|
treći:
[code:1]
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int pot(int m,int k){
int l, z;
for(l=0; pow(k, l)<=m; l++){
if((m%(int)pow(k, l))==0) z=l;
}
return z;
}
int f(int m, int n){
if((m==1)||(n==1)) return 1;
if((m>=n)&&(n>1)){
int l=pot(m, n);
if(l>0) return f((m/(int)pow(n, l)), n+1);
if(l==0){
int i, suma=0;
int a;
for(i=1; i<m; i++){
if((m%i)!=0){
a=f(i, n);
suma+=a;
}
}
return suma;
}
}
else{
return pot(n, m);
}
}
int fpom(int m, int n)
{
int i, suma=0;
int a;
for(i=1; i<m; i++){
if((m%i)!=0){
a=f(i, n);
suma+=a;
}
}
return suma;
}
int main () {
int br_m, br_n;
int br_l;
int br_f=0;
printf("unesite m: \n");
scanf("%d",&br_m);
printf("Unesite n: \n");
scanf("%d", &br_n);
br_l=pot(br_m,br_n);
printf("\nVrijednost od l je: %d\n", br_l);
br_f=f(br_m, br_n);
printf("Vrijednost funkcije za m i n je %d\n", br_f);
system("PAUSE");
return 0;
}
[/code:1]
treći:
Kod: |
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int pot(int m,int k){
int l, z;
for(l=0; pow(k, l)<=m; l++){
if((m%(int)pow(k, l))==0) z=l;
}
return z;
}
int f(int m, int n){
if((m==1)||(n==1)) return 1;
if((m>=n)&&(n>1)){
int l=pot(m, n);
if(l>0) return f((m/(int)pow(n, l)), n+1);
if(l==0){
int i, suma=0;
int a;
for(i=1; i<m; i++){
if((m%i)!=0){
a=f(i, n);
suma+=a;
}
}
return suma;
}
}
else{
return pot(n, m);
}
}
int fpom(int m, int n)
{
int i, suma=0;
int a;
for(i=1; i<m; i++){
if((m%i)!=0){
a=f(i, n);
suma+=a;
}
}
return suma;
}
int main () {
int br_m, br_n;
int br_l;
int br_f=0;
printf("unesite m: \n");
scanf("%d",&br_m);
printf("Unesite n: \n");
scanf("%d", &br_n);
br_l=pot(br_m,br_n);
printf("\nVrijednost od l je: %d\n", br_l);
br_f=f(br_m, br_n);
printf("Vrijednost funkcije za m i n je %d\n", br_f);
system("PAUSE");
return 0;
}
|
Zadnja promjena: ta2a; 21:12 pet, 23. 6. 2006; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
Postano: 12:59 pet, 23. 6. 2006 Naslov: |
|
|
i četvrti:
[code:1]
#include<stdlib.h>
#include<string.h>
int main () {
char text[1000+1];
char text2[1000+1]={0};
int i,j=0,duljina=0,k=0;
gets(text);
duljina=strlen(text);
for(i=0; i<duljina; i++,j++){
text2[i-k]=text[i];
if(text[i]==' ') {
for(j=i;text[j]==' ';j++) ;
switch (text[j]){
case ('.'):text2[i-k]='.'; k=k+j-i;i=j;break;
case (','):text2[i-k]=',';k=k+j-i;i=j;break;
case ('?'):text2[i-k]='?';k=k+j-i;i=j;break;
case ('!'):text2[i-k]='!';k=k+j-i;i=j;
}
}
}
puts(text2);
system("PAUSE");
return 0;
}
[/code:1]
i četvrti:
Kod: |
#include<stdlib.h>
#include<string.h>
int main () {
char text[1000+1];
char text2[1000+1]={0};
int i,j=0,duljina=0,k=0;
gets(text);
duljina=strlen(text);
for(i=0; i<duljina; i++,j++){
text2[i-k]=text[i];
if(text[i]==' ') {
for(j=i;text[j]==' ';j++) ;
switch (text[j]){
case ('.'):text2[i-k]='.'; k=k+j-i;i=j;break;
case (','):text2[i-k]=',';k=k+j-i;i=j;break;
case ('?'):text2[i-k]='?';k=k+j-i;i=j;break;
case ('!'):text2[i-k]='!';k=k+j-i;i=j;
}
}
}
puts(text2);
system("PAUSE");
return 0;
}
|
Zadnja promjena: ta2a; 21:13 pet, 23. 6. 2006; ukupno mijenjano 1 put.
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
fireball Forumaš(ica)


Pridružen/a: 07. 10. 2005. (18:49:17) Postovi: (4AB)16
Spol: 
Lokacija: s rukom u vatri i nogom u grobu
|
|
[Vrh] |
|
suziQ Forumaš(ica)


Pridružen/a: 29. 05. 2005. (13:52:50) Postovi: (2B)16
Spol: 
|
|
[Vrh] |
|
ta2a Forumaš(ica)


Pridružen/a: 01. 09. 2004. (12:59:54) Postovi: (B4)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
|