C/C++

Член од
17 октомври 2010
Мислења
10
Поени од реакции
0
1 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе го најде најмалиот позитивен број што е истовремено делив со сите цифри од 1 до 9. Да се испечати бројот и неговиот превртен број.
2 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе ја печати аритметичката средина на првите 20 прости броеви.
3 НАПИШЕТЕ ЈА ПРОГРАМАТА
Од тастатура се внесуваат непознат број на цели броеви. Да се напише програма која за секој внесен број ќе формира нов, така што секоја цифра X во бројот ќе се замени со цифра Y, а цифрата Z ќе се испушта. Цифрите X, Y и Z се внесени од тастатура и се исти за сите броеви. Програмата на крај печати колку броеви биле внесени.
Пример: X=1 Y=3 Z=9
21941 => 2343

--- надополнето ---

ve molam pomos
 

Адиктус

Дрф.
Член од
26 јануари 2008
Мислења
725
Поени од реакции
33
1 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе го најде најмалиот позитивен број што е истовремено делив со сите цифри од 1 до 9. Да се испечати бројот и неговиот превртен број.
2 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе ја печати аритметичката средина на првите 20 прости броеви.
3 НАПИШЕТЕ ЈА ПРОГРАМАТА
Од тастатура се внесуваат непознат број на цели броеви. Да се напише програма која за секој внесен број ќе формира нов, така што секоја цифра X во бројот ќе се замени со цифра Y, а цифрата Z ќе се испушта. Цифрите X, Y и Z се внесени од тастатура и се исти за сите броеви. Програмата на крај печати колку броеви биле внесени.
Пример: X=1 Y=3 Z=9
21941 => 2343

--- надополнето ---

ve molam pomos
1.
Код:
bool pronajdenBroj=false;
int broj=0;
while(!pronajdenBroj)
{
broj++;
pronajdenBroj=true;
for(int j=1;j<10;j++) if(broj%j!=0)pronajdenBroj=false;
}
По извршување на тој код, broj ќе е најмалиот број кој е делив со сите броеви од 1 до 9 (2520)... За превртен, доколку се мисли за спротивен број негативен број од (во овој случај -2520) пронајдениот број, само помножи со -1..

За втората задача... Прости броеви се сите броеви кои се деливи со 1, и самите со себе... Можеби грешам, но мислам дека најлесен начин за откривањето на прост број е :
1. Проверка дали бројот е 2, 3, 5 или 7.. (тие се прости броеви)
2. Проверка дали бројот е парен (парни броеви се прости)
3. Проверка дали збирот на цифрите на тој број е делив со 2, 3, 5 или 7...
Ова ти е всушност скоро решена задача, само треба ти да го напишеш кодот... Мислам дека се ти е јасно околу аритметичка средина..

За третата... Откако се внесат тие броеви (во некоја низа), ќе ги обработуваш броевите еден по еден... Обработувањето ќе е следно :
Поделба на цифри, и внесување на цифрите во нова низа...
Проверка на секоја цифра дали се совпаѓа со X, доколку се совпаѓа, ја заменуваш со Y.
Проверка на секоја цифра, дали се совпаѓа со Z, доколку се совпаѓа, ставаш некој број што не е помеѓу 0 и 9 (на пример... 10)
Потоа се множи секоја цифра со својата позиција (десетка) (пример, првиот број со 1, вториот со 10, третиот со 100.. итн..).. Доколку стигнеш до бројот 10 (или некој друг број, што е заменет со X), едноставно прескокнуваш... ( if )

Мислам дека е доволно помогнато... Сепак, ова е само начин на кој јас би ги решил задачите.. Има многу други начини за решавање на истите, многу попрости, многу побрзи...

Не сакав да ги ставам целите решенија, и ова е доволно за да сепак и ти се вклучиш малку во решавањето на тие задачи, а да добиеш помош..
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
1 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе го најде најмалиот позитивен број што е истовремено делив со сите цифри од 1 до 9. Да се испечати бројот и неговиот превртен број.
2 НАПИШЕТЕ ЈА ПРОГРАМАТА
Да се напише програма која ќе ја печати аритметичката средина на првите 20 прости броеви.
3 НАПИШЕТЕ ЈА ПРОГРАМАТА
Од тастатура се внесуваат непознат број на цели броеви. Да се напише програма која за секој внесен број ќе формира нов, така што секоја цифра X во бројот ќе се замени со цифра Y, а цифрата Z ќе се испушта. Цифрите X, Y и Z се внесени од тастатура и се исти за сите броеви. Програмата на крај печати колку броеви биле внесени.
Пример: X=1 Y=3 Z=9
21941 => 2343

--- надополнето ---

ve molam pomos
првата прво решение
Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int i=1, deliv;
	do
	{
		int delitel;
		deliv = 1;
		for(delitel=1; delitel<=9; delitel++)
		{
			if (i%delitel != 0)
			{
				deliv = 0;
				break;
			}
		}
		i++;
	}
	while (!deliv);
	i--;
	printf("%d\n", i);
	system("pause");
	return 0;
}
второ решение
Код:
#include <stdio.h>
#include <stdlib.h>

int main()
{
	int i=1, deliv;
	while (i%1 != 0 || i%2 != 0 || i%3 != 0 || i%4 != 0 || i%5 != 0 || i%6 != 0 || i%7 != 0 || i%8 != 0 || i%9 != 0)
	{
	 i++;
	}
	printf("%d\n", i);
	system("pause");
	return 0;
}
Втората:
Код:
#include <stdio.h>

int daliEProst(int n)
{
	int delitel = 2;
	int prost = 1;
	if (n==1)
		return 0; //1 ne e ni slozen ni prost
	while (delitel*delitel <= n)
	{
		if (n%delitel == 0)
		{
			prost = 0; break;
		}
		delitel++;
	}
	return prost;
}

int main()
{
	int brojNaProsti=0, i=1, zbir=0;
	double aritSredina;
	while (brojNaProsti != 20)
	{
		if (daliEProst(i))
		{
			zbir += i;
			brojNaProsti++;
			printf("%d ", i);
		}
		i++;
	}
	aritSredina = (double)zbir/20;
	printf("\n%d\n%lf\n", zbir, aritSredina);
}
Трета
Код:
#include <stdio.h>

int main()
{
	int n, x, y, z, i;
	scanf("%d %d %d %d", &n, &x, &y, &z);
	for (i=1; i<=n; i++)
	{
		int cifra, tmp = i, desetNaStepen = 1; /*desentNaStepen = 10 na nulta*/
		int novBroj = 0;
		while(tmp!=0)
		{
			cifra = tmp%10;
			tmp /= 10;
			
			if (cifra != z)
			{
				if (cifra == x)
					cifra = y;
				
				novBroj += cifra * desetNaStepen;
				desetNaStepen *= 10;
			}
		}
		if (novBroj != i)
			printf("%d - %d\n", i, novBroj);
	}
	return 0;
}
Сега земи разбери ги и научи ги овие, друг пат сам да си решаваш. Барај помош ако ептен заглавиш.
 
A

apidrone

Гостин
Мене ми требаат овие 4 задачи во С++. Функцијата main пожелно е, но не е задолжително да биде вметната. Чисто колку да сконтам некои сегменти од класиве :)
 
Член од
17 октомври 2010
Мислења
10
Поени од реакции
0
Да се напише програма која ќе ја печати аритметичката средина на првите 20 прости броеви.
ne treba so funkcija
a inace fala
ama
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
6.160
Поени од реакции
5.938
Ми треба помош околу header фајловите во Visual Studio....

Сакам да направам еден cpp фајл ко ќе ги содржи сите функции за основни операции на линеарно поврзани листи (внесување, печатење, бришење итн...), и ќе можам да го користам во програмите што ќе ги пишувам понатаму. Значи во другите програми ќе си содржи Main функција и некоја функција што ќе прави нешто со низите (во зависност од задачата)

Како треба да изледа header фајлот за датотекава?

Код:
#define MEMCHECK(x) if(x==NULL) {printf("Nema memorija!\n"); exit(-1);}

typedef int info_t;

typedef struct element
{
	info_t info;
	struct element *link;
} node; // definiranje na element vo linearna lista

typedef node * nodep; // definiranje na pokazuvac kon lista

node *mk_link_list()
{
	node *p=NULL, *q=NULL, *r=NULL;
	int n;
	while((scanf("%d",&n)||1)&&(getchar()!='`'))
	{
		r=(node *)malloc(sizeof(node));
		MEMCHECK(r);
		r->info=n;
		r->link=NULL;
		if(p==NULL) p=r;
		else q->link=r;
		q=r;
	}
	return p;
}

void print_list (node *p) // pecatenje na linearna lista
{
	while(p!=NULL)
	{
		printf("->%d",p->info);
		p=p->link;
	}
	putchar('\n');
}

void free_link_list(node *p) // osloboduvanje na memorijata zafatena so linearna lista (kompletno brisenje na listata)
{
	node *q;
	while(p!=NULL)
	{
		p=(q=p)->link;
		free(q); // brisenje na jazelot od memorija
	}
}
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
Како би направил да е испечати минимумот и максимумот од произволен број на цели броеви.
Посебно за минимум и максимум можам да определам, но не знам како кога би ги вклопил двете во една програма..
Код:
#include <stdio.h>
int main ()
{
int max,broj,min,a;
printf("Za kraj da se vnese znak!\n");
scanf("%d\n",&broj);
min=broj;
while (scanf("%d\n",&broj))
{
if (broj<min) min=broj;
}
printf("Minimum e %d\n",min);
return 0;
}
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
6.160
Поени од реакции
5.938
Како би направил да е испечати минимумот и максимумот од произволен број на цели броеви.
Посебно за минимум и максимум можам да определам, но не знам како кога би ги вклопил двете во една програма..
Код:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
	int max,broj,min;
	printf("Za kraj da se vnese znak!\n");
	scanf("%d\n",&broj);
	min=broj;
	[COLOR="#ff0000"]max=broj;[/COLOR]
	while (scanf("%d\n",&broj))
	{
		if (broj<min) min=broj;
		[COLOR="#ff0000"]if (broj>max) max=broj;[/COLOR]
	}
	printf("Minimum e %d, maks e %d\n",min,max);
	system("pause");
	return 0;
}
:toe:
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
Код:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
	int max,broj,min;
	printf("Za kraj da se vnese znak!\n");
	scanf("%d\n",&broj);
	min=broj;
	[COLOR="#ff0000"]max=broj;[/COLOR]
	while (scanf("%d\n",&broj))
	{
		if (broj<min) min=broj;
		[COLOR="#ff0000"]if (broj>max) max=broj;[/COLOR]
	}
	printf("Minimum e %d, maks e %d\n",min,max);
	system("pause");
	return 0;
}
:toe:
Ау... го помислив ова ама не се ни обидов да пробам дали ќе испадне :S
Фала :smir:
 
Член од
13 јуни 2008
Мислења
92
Поени од реакции
0
ај ако може мала помош за задачава.. од непознат број цели броеви да сеизбројат сите броеви кои се деливи со производот на нивната најзначајна (првата) цифра и најмалкузначајната (последната) цифра.

незнам како да ја издвојам првата цифра.. помош??
 
Член од
27 ноември 2007
Мислења
31.061
Поени од реакции
74.697
Малку ми е Шпанско село ова што пишувате и може не прашувам на право место, али и така нема кој да ми помогне. Пошто на факсов решаваме најосновни задачи, и после на колоквоиум ни даваат катаљони пати потешки, да си прашам и јас нешто...
Како да внесувам n-низи со однапред определен број на елементи. Притоа кога ќе се внесуваат да ти каже да провериш дали веќе има внесено низа на тоа место. Знам овие проверки да ги правам за внесување на обични броеви, ама со низи немам никаква идеја..
И така внесуваш неколку низи, и да ти најде после збир од некои две. и внесуваш редни броеви на низите, и ако се веќе внесени да ги собереш и добиената низа да ја ставиш пак на некое место, и провериш дали има некоја низа таму...
На вежби немаме вежбано ни приближно нешто вакво...
Ае кој може нека помогне :)
P.s. утре полагам :nesvest:
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
ај ако може мала помош за задачава.. од непознат број цели броеви да сеизбројат сите броеви кои се деливи со производот на нивната најзначајна (првата) цифра и најмалкузначајната (последната) цифра.

незнам како да ја издвојам првата цифра.. помош??
Првата цифра (најзначајна) ти е всушност резултатот од циклусот кога ги издвојуваш посебно цифрите од n-цифрен број:
Код:
. . . 
a=i;
while (a)
{
cifra=a%10;
a\=10;
}
najznacajna=cifra;
printf("%d",najznacajna);
. . .
Најмалку знaчaјна е:
Код:
najmalkuznacajna=a%10;
 
Член од
13 јуни 2008
Мислења
92
Поени од реакции
0
Првата цифра (најзначајна) ти е всушност резултатот од циклусот кога ги издвојуваш посебно цифрите од n-цифрен број:
Код:
. . . 
a=i;
while (a)
{
cifra=a%10;
a\=10;
}
najznacajna=cifra;
printf("%d",najznacajna);
. . .
Најмалку знaчaјна е:
Код:
najmalkuznacajna=a%10;
фала фил.. :)
 
Член од
22 август 2009
Мислења
30
Поени од реакции
5
Малку ми е Шпанско село ова што пишувате и може не прашувам на право место, али и така нема кој да ми помогне. Пошто на факсов решаваме најосновни задачи, и после на колоквоиум ни даваат катаљони пати потешки, да си прашам и јас нешто...
Како да внесувам n-низи со однапред определен број на елементи. Притоа кога ќе се внесуваат да ти каже да провериш дали веќе има внесено низа на тоа место. Знам овие проверки да ги правам за внесување на обични броеви, ама со низи немам никаква идеја..
И така внесуваш неколку низи, и да ти најде после збир од некои две. и внесуваш редни броеви на низите, и ако се веќе внесени да ги собереш и добиената низа да ја ставиш пак на некое место, и провериш дали има некоја низа таму...
На вежби немаме вежбано ни приближно нешто вакво...
Ае кој може нека помогне :)
P.s. утре полагам :nesvest:
Можеш со користење на матрици, можеш да ги сватиш како низи од низи.

int mat[број на редови- низи][број на елементи во секоја низа];

Првично матрицава можеш цела да ја иницијализираш на -1 и со секое внесување на нова низа, таа низа да ја сместуваш на некоја позиција од матрицата mat=niza;

Потоа кога ќе внесуваш редни броеви на низите, ќе проверуваш дали во тој ред на матрицата членовите се различни од -1, ако се тогаш има внесено низа и доколку истото важи и за другиот ред од матрицата со вториот реден број тогаш ги собираш и ги сместуваш на нова позиција.
 
Член од
31 август 2008
Мислења
1.853
Поени од реакции
815
Код:
#include <stdio.h>
int main ()
{
int max,broj,min,a;
printf("Za kraj da se vnese znak!\n");
scanf("%d\n",&broj);
min=broj;
while (scanf("%d\n",&broj))
{
if (broj<min) min=broj;
}
printf("Minimum e %d\n",min);
return 0;
}
Може некој да направаи да ја покажува и позицијата на најмалиот број во низата?
 

Kajgana Shop

На врв Bottom