- Член од
- 23 април 2010
- Мислења
- 10
- Поени од реакции
- 0
da, vaka znam. mislav da e dinamicen za da moze da se dodavaat neogranicen broj elementi, a ne kako gore na slikata kade so moze samo 5 bukvi ili namesto 5 da e 100 bukvi itn.
Follow along with the video below to see how to install our site as a web app on your home screen.
Забелешка: This feature may not be available in some browsers.
da, vaka znam. mislav da e dinamicen za da moze da se dodavaat neogranicen broj elementi, a ne kako gore na slikata kade so moze samo 5 bukvi ili namesto 5 da e 100 bukvi itn.
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
typedef int info;
typedef struct list{
struct list *next;
struct list *back;
info data;
}list;
//Inicijalizira dvojno kruzna povrzna lista so vodac
void inic(list **l){
(*l) = malloc(sizeof(list));
(*l)->next = *l;
(*l)->back = *l;
}
//Dodava element na krajot na listata
void add(list *l, info dat){
list *t = malloc(sizeof(list));
if(t == NULL){
fprintf(stderr, "Nema mesto");
exit(-1);
}
t->data = dat;
t->next = l;
t->back = l->back;
l->back->next = t;
l->back = t;
}
typedef struct stack{
list *sList;
}stack;
// Inicijalizira stek, tuka pr ako sakas da cuvas drugi informacii kako broj na elementi, itn gi stavas na pocetni vrednosti
void inicStack(stack *s){
inic(s->sList);
}
//Dodoava element vo stekot
void push(stack *s, info dat){
add(s->sList,dat);
}
// vraka podatokot vo posledniot element od listata i go brise
info pop(stack *s){
if(s->sList->back == s->sList){
fprintf(stderr, "Underflow");
exit(-1);
}
info d = s->sList->back->data; // zacucuva podatokot sto treba da vrati
list *tmp = s->sList->back; // privremena promenliva sto pokazuva do poslendiot element za posle da se izbrise
s->sList->back->next = s; //Ova e da se napravi posledniot element da ne e "del" od listata, da ne moze da se pristapi
s->sList->back = s->sList->back->back;
free(tmp); // posledniot element se brise
return d;
}
// Vraka podatok od posledniot element vo lsitata no ne se brise
info peek(stack *s){
if(s->sList->back == s->sList){
fprintf(stderr, "Underflow");
exit(-1);
}
return s->sList->back->data;
}
int main()
{
stack *s = malloc(sizeof(stack));
inicStack(&s);
printf("Push 100 elementi\n");
int i;
for(i = 0; i < 100; i++)
push(s,i);
printf("\nPop 100 elementi\n");
for(i = 0; i < 100; i++)
printf("%d, ",pop(s));
printf("\nStekote veke e prazen :\n");
pop(s);
}
Може да се реши по два начина. Со рекурзија и со пермутации. Во моментов сум зафатен, но утре би можел да ти ги куцнам и да ги објаснам и двата начина, се разбира, ако некој друг од форумов до тогаш не ти ги објасни.ako ne e problem ke moze li nekoj da mi kaze nekoj nacin za naogaanje na determinanta na nxn matrica. pobarav na net ali ne gi svakam kkao sto treba.
ako ne e problem ke moze li nekoj da mi kaze nekoj nacin za naogaanje na determinanta na nxn matrica. pobarav na net ali ne gi svakam kkao sto treba.
ako ne e problem ke moze li nekoj da mi kaze nekoj nacin za naogaanje na determinanta na nxn matrica. pobarav na net ali ne gi svakam kkao sto treba.
int** CreateSquareMatrix(int len)
{
int **mat = new int*[len];
for(int i = 0; i < len; i++)
mat[i] = new int[len];
return mat;
}
int** Minor(int** Matrix, int row, int col, int len)
{
int **Minor = CreateSquareMatrix(len - 1);
for(int i = 0; i < len-1; i++)
{
for(int j = 0; j < len-1; j++)
{
Minor[i][j] = Matrix[i + (row <= i)][j + (col <= j)];
}
}
return Minor;
}
int Determinant(int **Matrix, int len)
{
int d = 0, t = 1;
if(len < 2)
{
return Matrix[0][0];
}
if(len < 3)
{
return Matrix[0][0] * Matrix[1][1] - Matrix[1][0] * Matrix[0][1];
}
else
{
for(int j = 0; j < len; j++)
{
t = j % 2 == 0 ? 1 : -1;
d += t*Matrix[0][j] * Determinant(Minor(Matrix,0,j,len),len-1);
}
}
return d;
}
int n;
cout << "Vnesete Dolzhina na matricata: " << endl;
cin >> n;
int **Matrix = CreateSquareMatrix(n);
ReadMatrix(Matrix, n);
PrintMatrix(Matrix,n);
cout << endl << endl;
cout << Determinant(Matrix,n) << endl;
#include <stdio.h>
const int HoursInDay = 24;
const int MinutesInHour = 60;
const int SecondsInMinute = 60;
int main () {
int seconds;
int minutes;
int hours;
int days;
int InSeconds;
scanf("%d", &InSeconds);
seconds = InSeconds % SecondsInMinute;
minutes = InSeconds / SecondsInMinute;
hours = InSeconds / (SecondsInMinute * MinutesInHour);
days = InSeconds / (SecondsInMinute * MinutesInHour * HoursInDay);
printf("%d sekundi se %d casovi, %d minuti i %d sekundi", InSeconds, hours, minutes, seconds);
return 0;
}
Додади го оваДобро шо е проблемов во задачава ? Зошто минутите не ми ги дава точно ?Ај помош...
Код:#include <stdio.h> const int HoursInDay = 24; const int MinutesInHour = 60; const int SecondsInMinute = 60; int main () { int seconds; int minutes; int hours; int days; int InSeconds; scanf("%d", &InSeconds); seconds = InSeconds % SecondsInMinute; minutes = InSeconds / SecondsInMinute; hours = InSeconds / (SecondsInMinute * MinutesInHour); minutes %= 60; // days = InSeconds / (SecondsInMinute * MinutesInHour * HoursInDay); printf("%d sekundi se %d casovi, %d minuti i %d sekundi", InSeconds, hours, minutes, seconds); return 0; }
Фала брат, никад нема да ми текнеше ова да го пробам.Додади го ова
minutes %= 60;
и денови не ти требаат затоа што не печатиш денови....