C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Dali moze nekoj da mi kaze kako so c++ moze da se izvrsi prebaruvanje na fajlovi niz hard diskot, dali treba nekoi dodatni biblioteki?
 
Imam nekoi zadaci na laboratoriski sto gi pravime ali nemam bas posveteno vreme na SPA :) I jas sega go slusam. Prv pat go slusas ti i koja grupa si? :)

Ау тие се до негде лесни, нешто посложено ми треба за вежбање.
Втор пат го слушам, единствен предмет што го имам паднато до сега :tapp: и сеа морам да го пројдем. Па ќе се дружиме у недела на колоквиум колоквиум ухх :nesvest:
 
Ау тие се до негде лесни, нешто посложено ми треба за вежбање.
Втор пат го слушам, единствен предмет што го имам паднато до сега :tapp: и сеа морам да го пројдем. Па ќе се дружиме у недела на колоквиум колоквиум ухх :nesvest:
Е не е баш лесем предмет ама треба учење.
 
Е не е баш лесем предмет ама треба учење.

Па фала Богу дека не е лесен, од шест предмети (петти семестар + СПА) само СПА го учам, сите други два дена пред колоквиум.
Реков дека задачите од лаб се лесни колку-толку. Неспоредливи со тие што се паѓаат на испит.
 
Dali moze nekoj da mi kaze kako so c++ moze da se izvrsi prebaruvanje na fajlovi niz hard diskot, dali treba nekoi dodatni biblioteki?

Ти требат функции како FindFirstFile() и FindNextFile(), исто корисна функција можи да ти биди SetCurrentDirectory(), ај сега потроши тро време на мсдн.

ПС:Претходното важеше ако платформата ти е Виндоус.
 
Природни броеви се запишани еден зад друг во бесконечна низа од цифри:12345678910111213... За зададен број n да се најде n-тата цифра во бесконечната низа.
Пример ако се бара 16та цифра.Треба да излезе 1.
 
Природни броеви се запишани еден зад друг во бесконечна низа од цифри:12345678910111213... За зададен број n да се најде n-тата цифра во бесконечната низа.
Пример ако се бара 16та цифра.Треба да излезе 1.


#include <cstdlib>
#include <iostream>
#include <cmath>
using namespace std;
int numbOfDigits(int broj)
{
int numb = 0;
while(broj>0)
{
broj/=10;
numb++;
}
return numb;
}
int main(int argc, char *argv[])
{

cout<<" Vnesi ja dolzinata na nizata ";
int n =0; cin>>n;
cout<<" Koja cifra da se ispecati ";
int cif = 0;
cin>>cif;
int arr[n];
for(int i =0; i<n; i++)
cin>>arr;
int numbDigit = 0;
for(int i =0; i<n ;i++)
{
numbDigit+=numbOfDigits(arr);
if(numbDigit>=cif)
{
int st = pow((double)10,(double)(numbDigit - cif));
cout<<((int)(arr/st))%10<<endl;
break;
}
}
char x;
cin>>x;
return 0;
}
 
Природни броеви се запишани еден зад друг во бесконечна низа од цифри:12345678910111213... За зададен број n да се најде n-тата цифра во бесконечната низа.
Пример ако се бара 16та цифра.Треба да излезе 1.

Еве ти едно "brute force" решение :) Го тестирав за n=[1,100] и работи правилно. Само ќе ти напоменам дека доколку трбеба да работиш со многу големи броеви треба да користиш 'long' наместо 'int' (подолу решено со 'int'), бидејќи ќе ти настане 'overflow'.

Код:
//pomosna funkcija sto vraka broj na cifri
int brojCifri(int broj){
    int cifri = 0;
    
    while(broj != 0){
        cifri++;
        broj /= 10;
    }
    
    return cifri;
}

//funkcijata sto bara n-ta cifra
int najdiCifra(int n){
    if(n<=9) return n;    //ako n<=9 vrati go n
    
    bool done = false;
    int cifri = 11, i = 10;    //'i' -tekoven broj; 'cifri' - momentalen broj na cifri vklucuvajki go 'i'-ot broj
    
    while(!done){    //dodeka ne dojdes do broj na cifri >= n
        if(cifri >= n){  
            done = true;    //zavrsi so baranje
        }
        else{
            i++;    //zgolemi go tekovniot broj
            cifri += brojCifri(i);    //azuriraj tekoven broj na cifri
        }
    }
    
    if(done){
        while(i && cifri>n){    //dodeka ne dojdes do baranata cifra, seckaj go brojot 'i' i namaluvaj broj na cifri
            i /= 10;
            cifri--;    
        }
        return i%10; //vrati rezultat
    }
    
    return -1;    //vrati (-1) ako nastanala greska
}
поздрав.
 
Имаш 9 едноцифрени броеви, 90 двоцифрени, 900 трицифрени итн. Тебе ти треба n-тата цифра. За да ја најдеш го одземаш бројот на i-то цифрени од n (n=n-i*број на i-то цифрени) додека не дојдеш до тоа дека i*(бројот на i-то цифрени)>=n. Попатно го додаваш на моменталниот број бројот на i-то цифрени. И така на крај цифрата која ја бараш ќе биде еднаква на бројот+(n+i-1)/i(ова е целобројно делење).
 
Ај лил хелп..Си форматираф комјутер и инсталирав повторно ц++ со 2.0 .нет а кога ке игврсам било каква програма ми дава not valid win32 application?
thnks
 
Ај лил хелп..Си форматираф комјутер и инсталирав повторно ц++ со 2.0 .нет а кога ке игврсам било каква програма ми дава not valid win32 application?
thnks
Ова шо збор тие?

и ти висуал ц++ имаш работено или обично ц++ преку devcpp компајлер?
 

Kajgana Shop

Back
На врв Bottom