Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication2.cpp : Defines the entry point for the console application.
- //
- #include "stdafx.h"
- #include <stdio.h>
- #include <iostream>
- #include <string.h>
- using namespace std;
- int zbirNaCifri(int br)
- {
- int c, zbir=0;
- for(c=br; c>0; c=c/10)
- {
- zbir+= c%10;
- }
- return zbir;
- }
- int brojNaDeliteli(int br)
- {
- int del,brojac=0;
- for(del=1;del<=br;del++)
- {
- if(br%del==0)
- {
- brojac++;
- }
- }
- return brojac;
- }
- void isprintajNiza(int niza[], int br)
- {
- int i;
- for(i=0; i<br; i++)
- {
- printf("%d, ", niza[i]);
- }
- printf("\n");
- }
- int najdiMaksimum(int niza[], int br)
- {
- int i,max=niza[0];
- for(i=0;i<br;i++){
- if(niza[i]>max)
- {
- max=niza[i];
- }
- }
- return max;
- }
- int najdiMinimum(int niza[], int br){
- int i, min=niza[0];
- for(i=0;i<br;i++)
- {
- if(niza[i]<min){
- min=niza[i];
- }
- }
- return min;
- }
- int najdiRang(int niza[], int br)
- {
- return najdiMaksimum(niza,br)-najdiMinimum(niza,br);
- }
- int maximalenPar(int niza[],int br)
- {
- int i,j,zbir=0,max=niza[0]+niza[1];
- for(i=0,j=1;i<br&&j<br;i++,j++)
- {
- zbir=niza[i]+niza[j];
- if(zbir>max){
- max=zbir;
- }
- }
- return max;
- }
- int daliGoIma(int baran,int niza[], int br){
- int i;
- int goNajdov = 0;
- for(i=0;i<br;i++){
- if(baran==niza[i]){
- goNajdov = 1;
- break;
- }
- }
- return goNajdov;
- }
- int daliEPalindrom(int niza[], int br){
- int i,j;
- for(i=0,j=br-1;i<br&&j>=0;i++,j--){
- if(niza[i]!=niza[j]){
- return 0;
- }
- }
- return 1;
- }
- void zgolemi(int* a)
- {
- (*a)++;
- }
- int dolzina( char* zbor)
- {
- int i=0;
- while( (*zbor) != '\0')
- {
- i++;
- zbor++;
- }
- return i;
- }
- int daliEPalindrom(char* zbor)
- {
- int i,j;
- int n = dolzina(zbor);
- for(i=0, j=n-1; i<n && j>=0; i++, j--){
- if(*(zbor+i)!=*(zbor+j)){
- return 0;
- }
- }
- return 1;
- }
- int daliEPalindrom2(char* zbor)
- {
- char *prv, *posl;
- prv=zbor;
- posl=zbor;
- while(*(posl+1)!='\0'){
- posl++;
- }
- for( ; *prv!='\0'; prv++, posl--){
- if(*prv!=*posl){
- return 0;
- }
- }
- return 1;
- }
- int kolkuSamoglaski(char* zbor)
- {
- int br=0;
- for( ; *zbor!='\0';zbor++){
- if(*zbor=='a'||*zbor=='e'||*zbor=='i'||*zbor=='o'||*zbor=='u'||*zbor=='A'||*zbor=='E'||*zbor=='I'||*zbor=='O'||*zbor=='U'){
- br++;
- }
- }
- return br;
- }
- #define MAX 100
- int daliRecenicaEPalindrom(char *rec){
- int i=0;
- char nova[MAX];
- for(;*rec!='\0';rec++){
- char buk = *rec;
- if(isspace(buk) || ispunct(buk)){
- continue;
- }
- if(isupper(buk)){
- buk = tolower(buk);
- }
- nova[i]=buk;
- i++;
- }
- nova[i]='\0';
- return daliEPalindrom2(nova);
- }
- int count_char ( char * str , char c ) {
- int vkupno = 0 ;
- while (* str != '\0' ) {
- vkupno += (* str == c );
- str ++;
- }
- return vkupno ; }
- int faktoriel(int broj){
- int proizvod=1;
- for(int i=broj; i>0; i--)
- {
- proizvod=proizvod*i;
- }
- return proizvod;
- }
- int fakt(int broj)
- {
- if(broj==1)
- {
- return 1;
- }
- return broj * fakt(broj-1);
- }
- int zbir(int* niza, int n)
- {
- if(n==1){
- return *niza;
- }
- return *niza + zbir(niza+1 , n-1);
- }
- int zbir2(int niza[], int n)
- {
- if(n==1){
- return niza[0];
- }
- return niza[n-1] + zbir2(niza , n-1);
- }
- int daliEProst(int n)
- {
- for(int i=2; i<n; i++){
- if(n%i==0){
- return 0;
- }
- }
- return 1;
- }
- int eProst(int n, int i)
- {
- if(i==n) {
- return 1;
- }
- if(n%i==0){
- return 0;
- }
- return eProst(n, i+1);
- }
- int eProst(int n)
- {
- return eProst(n, 2);
- }
- int zbirCifri(int n)
- {
- if(n/10==0)
- {
- return n;
- }
- return n%10+zbirCifri(n/10);
- }
- int brojNaOsmici(int n){
- if(n==0) return 0;
- if(n%10!=8) return brojNaOsmici(n/10);
- if(n%10==8) return brojNaOsmici(n/10)+1;
- }
- int nzd(int a, int b)
- {
- if(a==b) return a;
- int pogolem, pomal;
- if(a>b){
- pogolem=a;
- pomal=b;
- }
- else{
- pogolem=b;
- pomal=a;
- }
- return nzd(pogolem-pomal, pomal);
- }
- int pogolem(int a, int b)
- {
- int pogolem, pomal;
- if(a>b){
- pogolem=a;
- pomal=b;
- }
- else{
- pogolem=b;
- pomal=a;
- }
- return pogolem;
- }
- int maxrek(int niza[], int n)
- {
- if(n==1){
- return niza[0];
- }
- return pogolem(niza[n-1],maxrek(niza, n-1));
- }
- int e_bukva ( char c ) { return ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ); }
- int e_samoglaska ( char c ) { c = tolower ( c ); switch ( c ) { case 'a' : case 'e' : case 'i' : case 'o' : case 'u' : return 1 ; default : return 0 ; } }
- int dalietakov(char *zbor){
- int brojac=0;
- char *glavna, *pomosna;
- for(glavna=zbor;*glavna!='\0';glavna++){
- brojac=0;
- for(pomosna=zbor; *pomosna!='\0'; pomosna++){
- if(tolower(*glavna)==tolower(*pomosna)){
- brojac++;
- }
- }
- if(brojac>2){
- return 1;
- }
- }
- return 0;
- }
- int palindrom(char *zbor, int n)
- {
- if(n==1) return 1;
- if(n==2){
- if(zbor[0]==zbor[1]){
- return 1;
- }
- else{
- return 0;
- }
- }
- if(zbor[0]==zbor[n-1]){
- return palindrom(zbor+1, n-2);
- }
- else
- {
- return 0;
- }
- }
- int palindrom(char *zbor)
- {
- int n=strlen(zbor);
- char *nov = zbor;
- if(n==1) return 1;
- if(n==2){
- if(zbor[0]==zbor[1]){
- return 1;
- }
- else{
- return 0;
- }
- }
- if(zbor[0]==zbor[n-1]){
- strncpy(nov, zbor+1, n-2);
- return palindrom(nov);
- }
- else
- {
- return 0;
- }
- }
- int eBukva(char c)
- {
- char m = tolower(c);
- if(m>='a' && m<='z') return 1;
- else return 0;
- }
- int kolkuzboroviima(char *red){
- int dzbor=0, vkupno=0;
- for( ; *red!='\0'; red++){
- if(dzbor==1){
- if(eBukva(*red)){
- dzbor=1;
- }
- else{
- dzbor=0;
- }
- }
- else{
- if(eBukva(*red)){
- dzbor=1;
- vkupno++;
- }
- else{
- dzbor=0;
- }
- }
- }
- return vkupno;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- int kraj, i, n=7, tmp;
- int niza[7]={ 6, -2, 5, 100, 4, 19};
- for(kraj=n-1; kraj>=1; kraj--){
- for(i=0; i<kraj; i++){
- if(niza[i]>niza[i+1]){
- tmp=niza[i];
- niza[i]=niza[i+1];
- niza[i+1]=tmp;
- }
- }
- }
- isprintajNiza(niza, 7);
- getchar();
- getchar();
- return 0;
- }
- /*
- redot so najmnogu zborovi
- FILE *vlezna;
- char red[100];
- int br, max=0;
- char najred[100];
- vlezna=fopen("redovi.txt", "r");
- if(vlezna==NULL){
- printf("fgfgfg");
- return -1;
- }
- while(fgets(red,100,vlezna)!=NULL){
- br=kolkuzboroviima(red);
- if(br>=max){
- max=br;
- strcpy(najred,red);
- }
- }
- printf("%d",max);
- printf("%s",najred);
- fclose(vlezna);
- */
- /*
- kolku zborovi ima vo fajlot
- int main(){
- int vozbor=0;
- int vkupno=0;
- char c;
- FILE *vlezna;
- vlezna=fopen("zborovi.txt", "r");
- if(vlezna==NULL){
- printf("ima gresa");
- return -1;
- }
- while((c=getc(vlezna))!=EOF){
- if(vozbor){
- if(eBukva(c)){
- vozbor=1;
- }
- else{
- vozbor=0;
- vkupno++;
- }
- }
- else{ //ne sum vo zbor
- if(eBukva(c)){
- vozbor=1;
- }
- else{
- vozbor=0;
- }
- }
- }
- printf("%d", vkupno);
- fclose(vlezna);
- return 0;
- */
- /*
- na mestata od glavnata dijagonala zapisi go maksimumot od soodvetniot red
- for(i=0;i<n;i++){
- max=mat[i][0];
- jMax=0;
- for(j=0;j<n;j++){
- if(mat[i][j] > max){
- max = mat[i][j];
- jMax = j;
- }
- }
- temp=mat[i][i];
- mat[i][i]=max;
- mat[i][jMax]=temp;
- }
- sekoj clen zameni go so zbirot od sosednite
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- zbir=0;
- if(j+1>=0 && j+1<n){
- zbir+=mat[i][j+1];
- }
- if(j-1>=0 && j-1<n){
- zbir+=mat[i][j-1];
- }
- if(i+1>=0 && i+1<n){
- zbir+=mat[i+1][j];
- }
- if(i-1>=0 && i-1<n){
- zbir+=mat[i-1][j];
- }
- nova[i][j]=zbir;
- }
- }
- na mestata od glavnata dijagonala zapisi go zbirot na drugite elementi od taa redica, a
- na mestata od sporednata dijagonala zapisi go zbirot na drugite elementi od taa kolona
- int const n=4;
- int mat [n][n];
- int nova[n][n];
- int i,j,zbir=0, max, temp, jMax,br=0;
- for(i=0; i<n; i++){
- for(j=0;j<n;j++){
- mat[i][j]= rand() % 11;
- }
- }
- for(i=0; i<n; i++){
- for(j=0;j<n;j++){
- printf("%2d ", mat[i][j]);
- }
- printf("\n");
- }
- for(i=0;i<n;i++){
- zbir=0;
- for(j=0;j<n;j++){
- zbir+=mat[i][j];
- }
- nova[i][i]=zbir-mat[i][i];
- }
- for(j=0;j<n;j++){
- zbir=0;
- for(i=0;i<n;i++){
- zbir+=mat[i][j];
- }
- nova[n-1-j][j]=zbir-mat[n-1-j][j];
- }
- printf("\n");
- for(i=0;i<n;i++){
- for(j=0;j<n;j++){
- if(i==j || i+j==n-1){
- mat[i][j]=nova[i][j];
- }
- }
- }
- printf("\n");
- for(i=0; i<n; i++){
- for(j=0;j<n;j++){
- printf("%2d ", mat[i][j]);
- }
- printf("\n");
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement