C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Хмм, линкирана листа. Во задачате е дадено секвенца и вели можи да се користи помошна секвенца, значи треба да се имплеметира со низа (array).
(кај линкирана листа нема потреба од помошна секвенца)

Во c++ стандардна библиотека има 3 основни колекции.
vector - внатре работи со array, расти од едниот крај
deque - со array, можи да се додава на двата краја.
list - линкирана листа, можи да се додава на двата краја

За задачава најверојатно треба да се имплементира наново deque, ама во C (спомнати се само функции а не класа)
deque е комбинација на queue и stack. Во c++ затоа што имплментациите се во трите класи погоре, класите stack и queue се завиткувач (wrapper) класи на една од трите. (само stack се имплементира ептен лесно, a само queue е исто така лесно)

Како за почеток мора да се користи ваква структура
Код:
struct deque {
	int capacitet; //max capacitet vo momentot
	int elementi; //broj na elementi
	int * niza;
}

Ова int * niza можи да се замени со void ** niza; Зависи што ќе се чува во низата.
 
Хмм, линкирана листа. Во задачате е дадено секвенца и вели можи да се користи помошна секвенца, значи треба да се имплеметира со низа (array).
(кај линкирана листа нема потреба од помошна секвенца)

Во c++ стандардна библиотека има 3 основни колекции.
vector - внатре работи со array, расти од едниот крај
deque - со array, можи да се додава на двата краја.
list - линкирана листа, можи да се додава на двата краја

За задачава најверојатно треба да се имплементира наново deque, ама во C (спомнати се само функции а не класа)
deque е комбинација на queue и stack. Во c++ затоа што имплментациите се во трите класи погоре, класите stack и queue се завиткувач (wrapper) класи на една од трите. (само stack се имплементира ептен лесно, a само queue е исто така лесно)

Како за почеток мора да се користи ваква структура
Код:
struct deque {
	int capacitet; //max capacitet vo momentot
	int elementi; //broj na elementi
	int * niza;
}

Ова int * niza можи да се замени со void ** niza; Зависи што ќе се чува во низата.

Јас би користел две структури.

Код:
struct node{
        int value;
        node *next;
}

struct deque{
        node *root;
        node *tail;
        int size;
}
 
Јас би користел две структури.

Код:
struct node{
        int value;
        node *next;
}

struct deque{
        node *root;
        node *tail;
        int size;
}

Така е линкирана листа. list во C++. А не deque. Нека кажи тој што ја поставил како му треба. Еве јас ќе кажам за имплементација со низи набрзанка

Код:
struct deque {
	int capacitet; //max capacitet vo momentot
	int elementi; //broj na elementi
	int * niza;
}

size (struct deque * d)
{
	return d->elementi;
}

get_last(struct deque * d)
{
	return d->niza[elementi-1];
}

remove_last(struct deque * d)
{
	d->elementi--;
	//d->niza[elementi] = 0; // ne mora da ja ima ovaa linija
}
isert_last(struct deque * d, int toInsert)
{
	if (d->elementi == d->capacitet)
	{
		int * novaNiza = (int*)malloc(sizeof(int)*(d->capacitet+5));
		//kopiraj ja starata vo novata niza
		memcpy(novaNiza, niza, elementi*sizeof(niza[0]));
		free(d->niza);
		d->niza = novaNiza;
		d->capacitet += 5;
	}
	d->niza[elementi] = toInsert;
	elementi++;
}
insert_first(struct deque * d, int toInsert)
{
	int * novaNiza = (int*)malloc(sizeof(int)*(d->capacitet+1));
	//kopiraj ja starata vo novata niza na edno mesto ponapred
	memcpy(novaNiza+1, niza, elementi*sizeof(niza[0]));
	free(d->niza);
	d->niza = novaNiza;
	d->capacitet += 1;
	d->niza[0] = toInsert;
}

Треба да се среди малце.
 
eve uste edna zadca molma resenie ili pomos :vozbud:
zadacamece.jpg
 
Еј луѓе на кој начин се сортираат податоци по азбучен ред во една датотека ? :jaj:
 
Еј луѓе на кој начин се сортираат податоци по азбучен ред во една датотека ? :jaj:

Де ова пробај го:

Код:
#include <iostream>
#include <string>

using namespace std;

int main()
{
           // Значи податоците од датотеката смести ги во низа
	string arnList[9]={"John", "Dave", "Steve", "Kevin","Andrew","Scott","Colin","Timothy","Zenon"};
	int nLength=9; // Бројот на елементи во низата
	string nTemp;
	int iCv;
 
	for (iCv = 1; iCv < nLength; ++iCv) {
		nTemp = arnList[iCv];
		int k;
 
		for (k = iCv-1; k >= 0 && arnList[k] > nTemp; k--) {
			arnList[k+1] = arnList[k];
		}
		arnList[k+1] = nTemp;
	}
	for(iCv=0; iCv<nLength; iCv++){
		cout << arnList[iCv] << " ";
	}
 
  cin.get();
  cin.get();
}
 
Ао може некој да ми ја реши задачата со низи за сортирање на елементи внесени преку тастатура (во примеров: 5) и да ги сортира по asc или dsc поредок.
 
Ао може некој да ми ја реши задачата со низи за сортирање на елементи внесени преку тастатура (во примеров: 5) и да ги сортира по asc или dsc поредок.

Претпостави дека N = должината на низата...

Код:
for(int j =0; j<N; j++) {
for(int i=1; i<N; i++) {
if(niza[i]>niza[i-1]) {
int tmp = niza[i];
niza[i] = niza[i-1];
niza[i-1]=tmp;
}
}
}

Ова е за сортирање од најголем кон најмал, а за обратно само смени го знакот кај if циклусот.
 
Кажи што е убо некој ко ќе ти ги решава задачите.:vozbud::vozbud:
hahaha e da ubo bi bilo nekoj ako mi gi resava ama do sega nikoj ne mi resil zadaca samo mi kazale kako i mnogu mi pomognale ve molam ako nekoj znaj ima ideja neka pisi ne e fer vaka da prajme prazni muabeti sepak baram pomos:(:pipi:...
 
Има ли некоја наредба во С++ со која можам на int да ја дадам должината на еден string

пр:

string ime;
int broj;

cin>>ime; // ај нека биде Иван и сеа Иван има 4 букви па да се добие

broj=4

:angry2:
 
Има ли некоја наредба во С++ со која можам на int да ја дадам должината на еден string

пр:

string ime;
int broj;

cin>>ime; // ај нека биде Иван и сеа Иван има 4 букви па да се добие

broj=4

:angry2:

За стринг не сум сигурен, но за char може сигурно еве :
...
char ime[50];
int broj;
cout<<"Vnesi ime"<<endl;
cin>>ime;
broj=strlen(ime);
 
hahaha e da ubo bi bilo nekoj ako mi gi resava ama do sega nikoj ne mi resil zadaca samo mi kazale kako i mnogu mi pomognale ve molam ako nekoj znaj ima ideja neka pisi ne e fer vaka da prajme prazni muabeti sepak baram pomos:(:pipi:...
Се во ред, ама таа задачата ич не е јасно поставена. (тоа делот кај што вели - Да се предвиди...) Ако можи да ја до објасниш. Инаку изгледа прилично лесна.


Има ли некоја наредба во С++ со која можам на int да ја дадам должината на еден string

пр:

string ime;
int broj;

cin>>ime; // ај нека биде Иван и сеа Иван има 4 букви па да се добие

broj=4

:angry2:

lenght() методот од стринг објект.
во случајов погоре
broj = ime.lenght();

Еве повеќе види овде за класта string.
 
Како може да се сортираат низи во текстуален документ.Притоа во текстуалниот документ има запишано повеќе променливи. Пример
Tomic Stefan 1 2 3 4 5
Stojanovski Damjan 4 5 6 7 10
Клучот за сортирање е prezime. И дали може од текстуалниот документ да се читаат променливи кои се оделени со празно место.Како во овој случај да се прочита третата променлива од лево?
 

Kajgana Shop

Постови на неделата

Недела од 12 јули 2025

Политички случувања во Македонија - Генерална дискусија
Многу изгубија Вмро, Мицковски и Тошковски со ова. 30 години политички партии, еден не се најде да им каже дека не можат да идат со глава во ѕид, и дека не идат лично против Арсовска, туку против функцијата градоначалник на Град Скопје. Толкави...
Фан Клуб: Вардар
убаво е да се знае, не сите комити го делат ставот на “комити“
не може мене никој да ми наметнуваат како да размислувам.

иститие тие пред неколку години во ерата на најуспешните години на вардар бараа вардар да се повардарел. се повардари, си...
Политички случувања во Македонија - Генерална дискусија
тошковски постапува по судски налози. Конкретно за ова кај судот треба да ја бараш кривицата. Судот моментално не е под влада него ете е независен. ВМРО не смени ниеден судија кога дојде него тие што беа за време на СДС.

Аха, значи ако некој...

Недела од 5 јули 2025

Back
На врв Bottom