Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- STRUKTURE ZADATAK:
- FUNKCIJA PRIMA NIZ TACAKA I NIZ PRAVOUGAONIKA TE NJIHOVE DUZINE. FUNKCIJA TREBA VRATITI BROJ PRAVOUGAONIKA KOJI SADRZAVAJU SVE TACKE
- -----------------------------------------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- struct tacka{
- int x,y;
- };
- struct pravougaonik{ //donja lijeva i gornja desna
- struct tacka dl,gd;
- };
- int obuhvat(struct tacka *t, int velt, struct pravougaonik*k,int velp){
- int brojp=0, brojt=0; int i, j;
- for(i=0;i<velp;i++){ //prodjemo kroz pravouganike
- brojt=0; //postavimo broj tacaka koji zadovoljavaju uslov na 0
- for(j=0;j<velt;j++){ //prodjemo kroz tacke
- if(t[j].x>k[i].dl.x && t[j].x<k[i].gd.x && t[j].y>k[i].dl.y && t[j].y<k[i].gd.y)
- brojt++; //ako je tacka izmedju donje lijebe i gornje desne po x i y znaci da je unutra i povecamo broj tacaka
- if(brojt==velt) //ako smo prosli sve tacke i uslov zadovoljavaju sve
- brojp++; //broj pravougaonika povecamo
- }
- }
- return brojp;
- }
- int main(){
- struct tacka t[3]={{1,1},{2,2},{3,3}};
- struct pravougaonik k[2]={
- {{0,0},{1,1}},{{0,0},{5,5}}
- };
- printf("%d",obuhvat(t,3,k,2));
- return 0;
- }
- ZADATAK DATOTEKA:
- IZ ULAZNE DATOTEKE UCITATI TEKST I U IZLAZNU ISPISATI SAMO ONE ZNAKOVE KOJI SE POJAVLJUJU U ULAZNOJ ALI IH ISPISATI PO BROJU PONAVLJANJA
- ------------------------------------------------------------------------------------------
- #include <stdlib.h>
- int main(){
- FILE* ulaz=fopen("asim.txt","r");
- if(ulaz==NULL) {
- printf("greska pri otvaranju");
- exit(1);
- }
- FILE *izlaz=fopen("izlaz.txt","w+");
- if(izlaz==NULL) {
- printf("greska pri otvaranju");
- fclose(ulaz);
- exit(2);
- }
- char znak=fgetc(ulaz);
- int brojaci[127]={0}; //niz brojaca
- char slova[127]; //niz znakova redom po ascii
- int i;
- for(i=0;i<127;i++) slova[i]=i; //napunimo ga znakovima po ascii
- while(znak!=EOF){ //prodjemo kroz datoteku uzimamo znak po znak
- brojaci[znak]++; //niz brojaca na poziciji znak povecamo za 1 da znamo da se taj znak 1 ponovio
- znak=fgetc(ulaz);
- }
- int j;
- for(i=0;i<127;i++){ //prodjemo kroz nasa nizove
- for(j=i;j<127;j++){
- if(brojaci[j]>brojaci[i]){ //sortiramo od vecih ka manjim
- int temp=brojaci[i]; //obrnemo brojeve
- brojaci[i]=brojaci[j];
- brojaci[j]=temp;
- char temp1=slova[i]; //usput obrcemo i slova
- slova[i]=slova[j];
- slova[j]=temp1;
- }
- }
- }
- int ukupno=0;
- for(i=0;i<127;i++) if(brojaci[i]!=0) ukupno++; //izbrojimo koliko ima slova koja su razlicita od nule
- for(i=0;i<ukupno;i++) {
- fputc(slova[i],izlaz); //redom ubacujemo slova
- fputc(brojaci[i]+'0',izlaz); //i njihov broj ponavljanja
- }
- fclose(ulaz);
- fclose(izlaz);
- return 0;
- }
- ZADATAK DATOTEKE:
- UNIJETI 2 BROJA SA DO WHILE PETLJOM, MORA DRUGI BITI VECI OD PRVOG. IZ ULAZNE DATOTEKE PREPISATI U IZLAZNU SVE ZNAKOVE KOJI SU PO ASCII VRIJEDNOSTI IZMEDJU TA 2 NASA BROJA
- ----------------------------------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- FILE *ULAZ=fopen("asim.txt","r");
- if(ULAZ==NULL){
- printf("greska");
- exit (1);
- }
- FILE *IZLAZ=fopen("izlaz.txt","w");
- if(IZLAZ==NULL){
- printf("greska");
- fclose(ULAZ);
- exit (1);
- }
- int prvi, drugi;
- do{
- scanf("%d %d",&prvi,&drugi);
- }while(drugi<prvi);
- char znak=fgetc(ULAZ);
- while(znak!=EOF){
- if(znak>prvi&& znak<drugi)
- fputc(znak,IZLAZ);
- znak=fgetc(ULAZ);
- }
- fclose(ULAZ);
- fclose(IZLAZ);
- return 0;
- }
- ZADATAK STRUKTURE:
- FUNKCIJA PRIMI NIZ STRUKTURA STUDENATA I VRATI ONOG SA NAJBOLJIM PROSJEKOM
- ---------------------------------------------------------------------------------
- #include <stdio.h>
- struct Student{
- char ime[20],prezime[20];
- int ocjene[10];
- };
- float prosjek(int niz[10]){
- int i=0,suma=0;
- for(i=0;i<10;i++){
- if (niz[i]==5) return 5;
- suma+=niz[i];
- }
- return (float)suma/10;
- }
- struct Student najbolji(struct Student* niz, int vel){
- float max=5;
- int i,indexbrata=0;
- for(i=0;i<vel;i++){
- if(prosjek(niz[i].ocjene)-max>0) {
- max=prosjek(niz[i].ocjene);
- indexbrata=i;
- }
- }
- return niz[indexbrata];
- }
- int main() {
- struct Student niz[4] = {
- {"Meho", "Mehic", {6,6,6,6,6,6,6,6,6,6}},
- {"Suljo", "Suljic", {9,9,9,9,9,9,9,9,9,9}},
- {"Pero", "Peric", {7,7,7,7,7,7,7,7,7,7}},
- {"Alma", "Almic", {8,8,8,8,8,8,8,8,8,8}}
- };
- struct Student rez = najbolji(niz, 4);
- printf ("%s %s", rez.ime, rez.prezime);
- return 0;
- }
- ZADATAK DATOTEKE:
- UCITATI IZ DATOTEKE PLANINE I NJIHOVE VISINE, TE U IZLAZNU UPISATI SAMO VISINE ONE KOJE SU IZNAD ZADANE VISINE
- --------------------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- struct pl{
- char ime[10];
- int visina;
- };
- int main(){
- FILE* ulaz=fopen("asim.txt","r");
- if(ulaz==NULL) {
- printf("greska pri otvaranju");
- exit(1);
- }
- FILE *izlaz=fopen("izlaz.txt","w+");
- if(izlaz==NULL) {
- printf("greska pri otvaranju");
- fclose(ulaz);
- exit(2);
- }
- struct pl planine[100];
- int i=0,j;
- while(fscanf(ulaz,"%10s%d",planine[i].ime, &planine[i].visina)==2 ){
- i++;
- }
- printf("unesite visinu ");
- float pr;
- scanf("%f",&pr);
- int k;
- for(k=0;k<i;k++){
- if(planine[k].visina>pr)
- fprintf(izlaz,"%d ",planine[k].visina);
- }
- fclose(ulaz);
- fclose(izlaz);
- return 0;
- }
- ZADATAK DATOTEKE:
- UCITATI IME PREZIME BROJ OCJENA I OCJENE SVAKOG STUDENTA KOJI JE U DATOTECI, ZATIM UPISATI U IZLAZNU IME I PROSJEK ONIH STUDENATA KOJI IMAJU MANJI PROSJEK OD ZADANOG
- ---------------------------------------------------
- #include <stdio.h>
- #include <stdlib.h>
- float prosjek(int niz[], int vel){
- int suma=0;
- int i;
- for(i=0;i<vel;i++)suma=suma+niz[i];
- return (float) suma/vel;
- }
- struct uc{
- char ime[10],prez[10];
- int br_oc;
- int ocjene[50];
- };
- int main(){
- FILE* ulaz=fopen("asim.txt","r");
- if(ulaz==NULL) {
- printf("greska pri otvaranju");
- exit(1);
- }
- FILE *izlaz=fopen("izlaz.txt","w+");
- if(izlaz==NULL) {
- printf("greska pri otvaranju");
- fclose(ulaz);
- exit(2);
- }
- struct uc studenti[100];
- int i=0,j;
- while(fscanf(ulaz,"%10s%10s%d",studenti[i].ime, studenti[i].prez, &studenti[i].br_oc)==3 && i<100){
- for(j=0;j<studenti[i].br_oc;j++)
- fscanf(ulaz,"%d",&studenti[i].ocjene[j]);
- i++;
- }
- printf("unesite prosjek ");
- float pr;
- scanf("%f",&pr);
- int k;
- for(k=0;k<i;k++){
- if(prosjek(studenti[k].ocjene,studenti[k].br_oc)<pr)
- fprintf(izlaz,"%10s %f\n",studenti[k].ime,prosjek(studenti[k].ocjene,studenti[k].br_oc));
- }
- fclose(ulaz);
- fclose(izlaz);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement