Помош: Кратки програмки

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Напишете програма која ќе чита еден позитивен цел број и ќе ги печати сите природни
парни броеви до тој број.
Код:
int main(){
    int a , b,c;
    
    printf("Vnesi eden priroden broj : ");
    scanf("%d",&a);
    
    for(b=0;b<a;b++)
    printf("%d\n",b++);
Јас вака ја решив некако случајно али некако не ме бендисува , дали има друг начин за решавање ?
За одредување на парни/непарни броеви корист %...

Вака ќе му дојде решението:
Код:
int main()
{
int n;

printf("Vnesi eden priroden broj : ");
scanf("%d",&n);
    
for(int i=1; i<n; i++) {
if(i%2==0) {
printf("%d", i);
}
}
system("pause");
}
 
Член од
8 ноември 2008
Мислења
13
Поени од реакции
0
zdravo,
dali ke moze da mi kazete algoritmi ili kod (Vo C) za naoganje NZS i NZD na broevi.
Fala odnapred.
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
zdravo,
dali ke moze da mi kazete algoritmi ili kod (Vo C) za naoganje NZS i NZD na broevi.
Fala odnapred.
Еве ти ги функциите за НЗД и НЗС :)

Код:
int Nzd(int a, int b)
{
return (b!=0? Nzd(b,a%b):a);
}

int nzs(int a, int b)
{
return (a*b)/Nzd(a,b);
}
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
Напишете програма која ќе чита еден позитивен цел број и ќе ги печати сите природни
парни броеви до тој број.
Код:
int main(){
    int a , b,c;
    
    printf("Vnesi eden priroden broj : ");
    scanf("%d",&a);
    
    for(b=0;b<a;b++)
    printf("%d\n",b++);
Јас вака ја решив некако случајно али некако не ме бендисува , дали има друг начин за решавање ?
Добро си тргнал, само треба да знаеш дека во фор не мора да биди b++, па после уште еднаш ++, можи b+=2;

Еве како треба
Код:
int main(){
    int a, b;
    
    printf("Vnesi eden priroden broj : ");
    scanf("%d",&a);
    
    for(b=2; b<a; b+=2)
        printf("%d\n", b);
}
А можи да го користиш решението од SkyDriver, ама тоа е помалку ефективно затоа што се користи операцијата остаток, а остаток и делење се извршуваат дупло побавно од собирање (микросекунди или наносекунди се во прашање, ама сепак е понеефективно со остаток)
 
Член од
26 јуни 2006
Мислења
288
Поени од реакции
24
дали некој знае дали во библиотеката math.h има функција шо ќе пресметува некој број на степен?
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
uff, ama uste neame raboteno funkcii, ke moze li nekako so if/for/while... nekoj algoritam?
Знаеш што е математичка функција, овде е слично. Даваш параметри, функцијата враќа вреност. Нема тешки филозфии тука.
Инаку за НЗД еве 3 алгоритми, без рекурзија. Првите два според Евклидов алгоритам, третиот е со груба сила (проверуваме деливост на сите броеви)

Код:
int nzd(int a, int b) //истиот алгоритам од SkyDriver, само со итерација, без рекурзија. инаку ова е евклидов алг. оvај е најефективен
{
	int t;
	while (b!=0)
	{
		a %= b;
		t = a; a = b; b = t; //swap
	}
	return a;
}

int nzd2(int a, int b) //друга имплементација на евклидов. нешто помалку ефективен
{
	int t;
	if (a==b)
		return a;
	while (b!=0)
	{
		while (a>=b)
			a -= b;

		t=a; a=b; b=t;
	}
	return a;
}

int nzd3(int a, int b) //најмалку ефективен. Груба сила
{
	int i;
	if (a>b)
		i = b;
	else
		i = a;

	for (;i>0;i--)
	{
		if (a%i==0 && b%i==0)
			break;
	}
	return i;
}
дали некој знае дали во библиотеката math.h има функција шо ќе пресметува некој број на степен?
Има, pow()
 

-Rubik-

>>{- _ -}<<
Член од
31 октомври 2009
Мислења
315
Поени од реакции
101
kako da napisam programa koja od nepoznat broj na celi broevi koi se vnesuvaat preku tastatura ke ja ispecati vrednosta i pozicijata na maksimalniot element.
pr: 2 4 6 8 3 5 7 1
pozicijata na max. element e 4, a negovata vrednost e 8.????
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
kako da napisam programa koja od nepoznat broj na celi broevi koi se vnesuvaat preku tastatura ke ja ispecati vrednosta i pozicijata na maksimalniot element.
pr: 2 4 6 8 3 5 7 1
pozicijata na max. element e 4, a negovata vrednost e 8.????
Код:
int main()
{
int br=0, poz=0, max=0, i=0;

while(scanf("%d", &br)) {
if(br==0) {
break;
}
else {
i++;
if(br>max) {
max=br;
poz=i;
}
}
}

printf("Najgolemiot broj e: %d\n", max);
printf("Negovata pozicija e: %d\n", poz);

system("pause");
}
 
Член од
30 јануари 2009
Мислења
16
Поени од реакции
17
има ли некој онлајн што знае php/html??? на колоквиум сам треба ми помош
 
Член од
13 јуни 2008
Мислења
67
Поени од реакции
3
ако може некој да ми ја реши задачава во С
Да се провери дали во некој збор внесен преку тастатура се
јавува одреден подзбор (кој е исто така внесен преку
тастатура), и ако се јавува да се одреди позицијата на
почетокот.
позз
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
За да провериш дали некој стринг содржи одреден збор вака:
Код:
void proverka(char *zbor, char *podzbor)
{
if(strstr(zbor, podzbor))
{
printf("Zborot go sodrzhi vo stringot.\n";
// Е сега не сум баш сигурен со кој метод се земаше индексот на карактерот
// ама мислам дека вака некако беше
// printf("Indeksot na karakterot e: %d\n", strspn(zbor, podzbor));
}
else
printf("Zborot ne go sodrzhi vo stringot.\n";
}
}
И не ја заборавај боблиотеката #include <string.h>

Едит:

Еве ти ја друже цела:

Код:
#include <stdio.h>

int find_substr(char *listPointer, char *itemPointer);

int main(void)
{
	char *zbor = ""; // или тука пиши го зборот, или вчитај го од тастатура
	char *podzbor = ""; // или тука пиши го подзборот или вчитај го од тастатура

	int index = find_substr(zbor, podzbor);

	if(index != -1) {
		printf("Podzborot e pronajden i negoviot pochetok e: %d", index);
	} else {
		printf("Podzborot ne beshe pronajden\n");
	}

	return 0;
}

int find_substr(char *listPointer, char *itemPointer)
{
  int t;
  char *p, *p2;

  for(t=0; listPointer[t]; t++) {
    p = &listPointer[t];
    p2 = itemPointer;

    while(*p2 && *p2==*p) {
      p++;
      p2++;
    }
    if(!*p2) return t;
  }
   return -1;
}
 
Член од
19 септември 2009
Мислења
14
Поени од реакции
2
ако може некој да ми ја реши задачава во С
Да се провери дали во некој збор внесен преку тастатура се
јавува одреден подзбор (кој е исто така внесен преку
тастатура), и ако се јавува да се одреди позицијата на
почетокот.

позз
Иако погоре ти ја решија веќе, еве ти уште едно решение.

Код:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<malloc.h>
#define MAX 1000

int najdiPodZbor(const char *zbor, const char *podZbor){
    int i,j,c,dolzina;
    const char *p1,*p2;
    
    i=-1;
    j=0;
    dolzina = strlen(podZbor);
    
    do{
        if(tolower(*zbor) == tolower(*podZbor)){
            i=j;
            c=0;
            p1 = zbor;
            p2 = podZbor;

            do{
                p1++; p2++;
                c++;
            }while((c < dolzina) && ( tolower(*p1) == tolower(*p2) ));

            if(c == dolzina) return i;
            else{ i = -1;}
        }
        j++;
        zbor++;
    }while((*zbor) != '\0');
    
    return i;
}

int main(){
    char *zbor,*podZbor;
    int res;
    
    zbor = (char *)malloc(MAX *sizeof(char));
    podZbor = (char *)malloc(MAX *sizeof(char));

    printf("Vnesi zbor: \n");
    scanf("%s",zbor);

    printf("Vnesi podzbor: \n");
    scanf("%s",podZbor);

    res = najdiPodZbor(zbor, podZbor);
    
    if(res != -1)
        printf("Najdov na pozicija: %d\n",res);
    else printf("Ne najdov takov zbor.\n");
    
    return 0;
}
 
H

HITCH

Гостин
ми треба програм за снимање на звук не можам никако да се снајдам ПОМОШ !!!!
 

Kajgana Shop

На врв Bottom