Poniżej znajdują się kody programów napisane w języku C++. Wszystkie tutaj zamieszczone programy były realizowane w ramach labolatorium z podstaw informatyki na kierunku Elektrotechnika przy Politechnice Rzeszowskiej.
Data
2007-01-24 14:11:45
Kod źródłowy
#include<stdio.h> #define NAZWA_PLIKU 'tekst.txt" main () { FILE *p; int liczba, max=0, min=256*256-1, srednia=0, suma=0, ilosc=0; p=fopen(NAZWA_PLIKU,"r"); while (!feof(p)) { if(fgets(liczba,100,p)!=NULL) { if (liczba>max) max=liczba; if (liczba<min) min=liczba; suma+=liczba; ilosc++; } } printf("Srednia arytm wczytanych liczby wynosi: %d\n",suma/ilosc); printf("Wartosc max. wynosi: %d\n",max); printf("Wartosc min. wynosi: %d\n",min); fclose(p); }
Data
2007-01-17 14:28:40
Kod źródłowy
#include <stdio.h> #define BUFSIZE 200
main(int argc, char *argv[]) { FILE *p; char buf[BUFSIZE]; /* int i; for (i=0;i<argc;i++) printf("Argument %d: %s\n",i,argv[i]); */ if (argc<2) { //instrukcja obslugi
} else { p=fopen(argv[1],"r"); if (p!=NULL) { printf("Plik otwarty"); while (!feof(p)) { if(fgets(buf,BUFSIZE,p)!=NULL) printf("%s",buf);
} } else printf("blad "); }
}
Data
2007-01-16 11:43:59
Kod źródłowy
#include<stdio.h>
char *strstr(char *s, char *t) { //szuka tekstu t w tekscie s char *tmp=t; char *tmp2; for(;*s!='\0';s++) if (*s==*t) { if (tmp==t) tmp2=s; t++; if (*t=='\0') return tmp2; } else if (t!=tmp) t=tmp; return NULL; }
main() { char s[]="ala ma kota"; char t[]="agata"; printf("%s\n",strstr(&s,&t)); }
Data
2007-01-10 14:52:56
Kod źródłowy
#include<stdio.h> /* typedef float liczby; - tworzy w³asny typ zmiennej float a; liczby a; */ #define MAX_IMIE 30 #define MAX_NAZWISKO 30 #define NAZWA_PLIKU "tekst.txt"
main () { FILE *p; osoba y; char pytanie, tryb; printf("Wybierz tryb pracy(1 - Wczytywanie i wypisywanie danych z pliku,"); printf("\n2 - Wprowadzenie i zapisywanie danych do pliku,"); printf("\n3 - Wczytanie i wypisanie osoby o danym numerze): "); tryb=getchar(); getchar(); if (tryb=='3') { //wczytywanie osoby o okreslonym numerze } if (tryb=='1') { //wczytywanie danych osob z pliku p=fopen(NAZWA_PLIKU,"rb"); while (!feof(p)) { fread((void *) &y, sizeof(osoba),1,p); wypisz(y); } } if (tryb=='2') { //zapisywanie danych osoby do pliku p=fopen(NAZWA_PLIKU,"ab"); do { y=wczytaj(); fwrite((void *) &y,sizeof(osoba),1,p); printf("Czy chcesz wpisac kolejna osobe(T/N): "); pytanie=getchar(); getchar(); } while ((pytanie!='N') && (pytanie!='n')); } fclose(p);
}
osoba wczytaj() { osoba x; int j; printf("Podaj imie: "); fgets(x.imie,MAX_IMIE,stdin); for(j=0;x.imie[j]!='\0';j++) if (x.imie[j]=='\n') x.imie[j]='\0'; printf("Podaj nazwisko: "); fgets(x.nazwisko,MAX_NAZWISKO,stdin); for(j=0;x.nazwisko[j]!='\0';j++) if (x.nazwisko[j]=='\n') x.nazwisko[j]='\0'; printf("Podaj wiek: "); scanf("%d",&x.rok_ur); getchar(); return x; }
#include<stdio.h> #include<malloc.h> //dynamiczne przydzielanie pamieci main () { int rozmiar, *t, i; printf("Podaj rozmiar: "); scanf("%d",&rozmiar); t=(int*) malloc(rozmiar*sizeof(int)); if(t==NULL) printf("Blad alokacji!\n"); else { printf("Podaj kolejno dowolne liczby: "); for (i=0;i<rozmiar;i++) scanf("%d",&t[i]); for (i=0;i<rozmiar;i++) printf("t[%d]=%d\n",i,t[i]); free(t); } }
Data
2006-12-13 13:47:22
Kod źródłowy
#include<stdio.h> //zadanie nr. 1 z kolokwium 2, zestaw 2 main () { int tab[100][1000]; int suma=0; long int i, j; for (i=0;i<100;i++) for (j=0;j<1000;j++) if (tab[i][j]==0) suma++; printf("Suma komorek rowna zero wynosi: %d\n",suma); }
Data
2006-12-06 14:40:29
Kod źródłowy
#include<stdio.h> #include<string.h> //Przechowywanie danych osobowych w zmiennej strukturalnej #define MAX_IMIE 30 #define MAX_NAZWISKO 30 #define MAX_KLASA 3
struct osoba { char imie[MAX_IMIE]; char nazwisko[MAX_NAZWISKO]; int wiek; };
void wypisz(struct osoba A); struct osoba wczytaj();
main() { struct osoba o = {"Ola","Nowak",13}; struct osoba klasa[MAX_KLASA]; //Tworzy klase z osobami int i, limit_wieku=0; //zmienna pomocnicza printf("Podaj limit wieku: "); scanf("%d",&limit_wieku); for (i=0;i<MAX_KLASA;i++) klasa[i]=wczytaj(); printf("Zawartosc klasy:\n\n"); for (i=0;i<MAX_KLASA;i++) if (klasa[i].wiek>limit_wieku) wypisz(klasa[i]); }
void wypisz(struct osoba A) { //wypisuje zawarto¶æ zmiennej A printf("Imie: %8s\nNazwisko: %6s\nWiek: %7d\n\n",A.imie,A.nazwisko,A.wiek); }
struct osoba wczytaj() { //wczytuje dane do zmiennej strukturalnej A struct osoba A; int dl; printf("Podaj imie: "); scanf("%s",&A.imie); dl=strlen(A.imie); if (A.imie[dl-1]=='\n') A.imie[dl-1]='\0'; else while(getchar()!='\n'); printf("Podaj nazwisko: "); scanf("%s",&A.nazwisko); if (A.nazwisko[dl-1]=='\n') A.nazwisko[dl-1]='\0'; else while(getchar()!='\n'); printf("Podaj wiek: "); scanf("%d",&A.wiek); return A; }
/* zadanie domowe: dodac do struktury tablice ocen, napisac program, ktory wpisywanie danych do tablicy, sprawdzenie poprawnosci wprowadzonych danych, srednia ocen wypisuje, funkcja wypisze osoby, ktore maja najwyzsza srednia, maja zagroszenia, sprobowac algorytymy sortowania. */
int kwadratowe (float a, float b, float c, float *x1, float *x2);
int main() { float x1, x2; int wynik=kwadratowe(1,-1,-6,&x1, &x2); if (wynik==-1) printf("Rownanie sprzeczne"); if (wynik==0) printf("Rownanie nie ma rozwiazania"); if (wynik==1) printf("Rownanie ma jedno rozwiazanie rowne x0=%f",x1); if (wynik==2) printf("Rownanie ma dwa rozwiazania rowne x1=%f i x2=%f", x1, x2); printf("\n"); return 0; }
int kwadratowe (float a, float b, float c, float *x1, float *x2) { float delta; if (a==0) return -1; delta=(float) sqrt(b*b-4*a*c); if (delta<0) return 0; if (delta==0) { *x1=*x2=(-b)/(2*a); return 1; } if (delta>0) { *x1=(-b-delta)/(2*a); *x2=(-b+delta)/(2*a); return 2; } }
Data
2006-11-22 14:24:19
Kod źródłowy
#include<stdio.h>
int podziel(float a, float b, float *w) { if (b==0) return 1; *w=a/b; return 0;
}
int main() { float w; int wynik; wynik=podziel(6,2,&w); if (wynik==1) printf("Dzielenie przez zero\n"); if (wynik==0) printf("Wynik dzielenia: %f\n",w); return 0; }
Data
2006-11-22 13:49:53
Kod źródłowy
#include<stdio.h>
void dodaj_dwa(int *a) { *a=*a+2; }
int main() { int a=1; printf("%d\n",a); dodaj_dwa(&a); //zmienna a ulegnie zmianie printf("%d\n",a); return 0; }
Data
2006-11-22 13:48:28
Kod źródłowy
#include<stdio.h> //przekazywanie zmiennych void dodaj_dwa(int a) { a=a+2; }
int main() { int a=1; printf("%d\n",a); dodaj_dwa(a); //zmienna a nie ulegnie zmianie printf("%d\n",a); return 0; }
Data
2006-11-22 13:34:18
Kod źródłowy
#include<stdio.h>
//funkcja zamienia spacje na niewidoczne (podkreslenie u dolu) void zamien(char txt[]);
int main() { char text[]="Ola ma kota! Kot pije mleko."; printf("%s\n",text); zamien(text); printf("%s\n",text); return 0; }
void zamien(char txt[]) { int i; for (i=0;txt[i]!='\0';i++) if (txt[i]==' ') txt[i]='_'; }
Data
2006-11-15 14:32:16
Kod źródłowy
#include<stdio.h> //Funkcje
float pole_kola(float r); long silnia(int n);
int main(void) { float promien=5.0f; float p; int i; p=pole_kola(promien); printf("Promien kola: %f\n",p); for(i=1;i<11;i++) printf("Silnia %2d: %7d\n", i, silnia(i));
printf("\n"); return 0; }
long silnia(int n) { int i; long temp=1; n++; for(i=1;i<n;i++) temp*=i; return temp;