C/C++

  • Креатор на темата Креатор на темата Драган
  • Време на започнување Време на започнување
Ако имаш нешто со виртуелни функции, или било што со класи, праќај! :)
Општо структури ако ти врши работа. :)
Од прв семестар се задачиве, леснички.
 
Да ве замолам за помош, ми треба код во C++ за задачава:
да се напише програма со користење датотеки, да се чита текстуална датотека kоја содржи цели броеви и букви случајно распоредени. Во main да се изработи мени за избор за извршување операциите (+, -, *, : ) над секои два последователни броја од датотеката. Резултатите од операциите да се запишуваат во излезна датотека во засебни редови, во формат: (пр. 2 + 3 = 5)
Однапред ви благодарам за помошта, поздрав
 
Дечки ај едно прашање вака набрзина, т.е. задача.

Да се напише функција која го враќа факториелот на бројот кој е подаден како аргумент.

Знам како обично да ја решам, лесна е, ама ова со функцииве ме буни некако мамата...
 
Дечки ај едно прашање вака набрзина, т.е. задача.

Да се напише функција која го враќа факториелот на бројот кој е подаден како аргумент.

Знам како обично да ја решам, лесна е, ама ова со функцииве ме буни некако мамата...

Код:
#include <stdio.h>

int faktoriel(int numb)
{
    int fakt = 1;
    for(int i = 1; i <=numb; i++)
    fakt*=i;
    return fakt;
}

int main()
{
   printf("%d\n",faktoriel(10));
   char c;
   scanf("%c",&c);
   return 0;
}
 
Доколку некој има материјал за датотеки во Ц++ би го замолил да ми го прати. Благодарам.
 
Код:
#include <stdio.h>
#include <stdlib.h>
int izbroj(char[],char);

int main(int argc, char *argv[])
{

char a[]="Programski jazik C";
char b='a';
printf("Bukvata %c se naoga %d pati vo %s\n",b,izbroj(a,b),a);
system("PAUSE");
return 0;
}

int izbroj(char zbor[],char bukva){
int i=0,br=0;
while (zbor[i]!='\0'){
if (zbor[i]==bukva){
br++;
}
i++;
}
return br;
}
Може некој да ми каже што функција има константата br=0 и зашто му се додава на return...
 
Код:
#include <stdio.h>
#include <stdlib.h>
int izbroj(char[],char);

int main(int argc, char *argv[])
{

char a[]="Programski jazik C";
char b='a';
printf("Bukvata %c se naoga %d pati vo %s\n",b,izbroj(a,b),a);
system("PAUSE");
return 0;
}

int izbroj(char zbor[],char bukva){
int i=0,br=0;
while (zbor[i]!='\0'){
if (zbor[i]==bukva){
br++;
}
i++;
}
return br;
}
Може некој да ми каже што функција има константата br=0 и зашто му се додава на return...



"br" брои колку пати се јавува буквата('a') во стрингот(a[] ). Се става да е 0 за да може да се инкрементира со "бр++" и да се изброи колку пати се јавува бараната буква. While-от овозможува читање до крајот на стрингот а со if-от се споредува дали е еднаква буквата 'а' со секоја буква од стрингот а[]. Ако е еднаква" br " се инкрементира (зголемува за еден), а "i" под него се инкрементира за да се провери секоја буква од стрингот, како што можеш да видиш во if (zbor==bukva) . Се почнува од 0 и се проверува до крајот.

Со ретурн се овозможува враќање(прикажување) на вредноста на br при повикување на функцијата. Без return нема да знаеш колку е вредноста на br.

Знам дека малце конфузно објаснив али јебига, ваљда ме сфаќаш. :)
 
Не, не. Океј си имаш објаснето.

Јас мислев дека while-от е за читање на стрингот до неговиот крај (што е точно), а if условот проверува дали некој член од низата е еднаков со константата bukva (и ова е точно). Е, јас мислев дека i се инкрементира, за да ако најде некој идентичен знак, да продолжи да бара и да брои (што е неточно). Затоа мене константата br ми делуваше како вишок во кодот, али сега е јасно.

Благодариме :)
 
Помош околу задача со датотеки. (итно)

Да се чита текстуална датотека kоја содржи цели броеви и букви случајно распоредени. Во main да се изработи мени за избор за извршување операциите (+, -, *, : ) над секои два последователни броја од датотеката. Резултатите од операциите да се запишуваат во излезна датотека во засебни редови, во формат: (пр. 2 + 3 = 5).

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

#include <iostream>
#include <fstream>
using namespace std;

void main ()
{
ifstream dat;
char niza[100];
char niza1[100],niza2[100];
int i,j;

dat.open ("Seminarska.txt");
// pecatenje
if (dat.is_open())
{
cout<<"*********IZVORNATA PROGRAMA*********"<<endl<<endl;
while (!dat.eof())
{
dat.getline(niza,100);
cout<<niza<<endl;
}
}

Тука само ја читам датотеката...мојата идеја е да направам 2 низи .. и потоа со for циклус да ги напишам операциите + - / * и :

niza1=niza[j];
niza2=niza[j+1];
j=j+2; -- би вршело операции меѓу двете низи т.е. секој пар на броеви.

Работите што не знам како да ги направам се: како да ги ставам САМО броевите од датотеката во niza[] бидејки ке ги разпоредам во niza1 i niza2 (1 ,3 ,5 тиот број би биле во низа1 а 2,4,6 во низа2

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

мој обид.
while (!dat.eof ())
{
dat.getline (niza,100);
for (i=0;i<strlen(niza);i++)
{
if (isdigit(niza))
{
niza1=niza;
}else niza2=niza;
}

}
ми излагаат броевите ама во лош распоред и ми излегува многу trash.
 
Ај мала помош. Ја имам структурата:
struct Informacii {
string Ime;
string Prezime;
int MatBroj;
DataType Data;
bool LK;
bool Pasos;
bool Vozacka;
}

Како да им доделам на ЛК, Пасош и Возачка вредност, но да ги запишам во датотека право?
 
Едно глупаво прашање, како воопшто се проверува дали една програма - датотека во С работи како што треба?

Пример:
Код:
#include <stdio.h>
#include <ctype.h> 

int main ()
{
char c;
int broj_zborovi=0, vo_zbor=0;
FILE *dat;

if ((dat=fopen("text.txt","r"))==NULL)
{
printf("Ne moze da ja otvori datotekata text.txt");
return (-1);
}
while((c=fgetc(dat))!=EOF)
{
if (isalnum(c))
{
if(!vo_zbor) vo_zbor=1;
}
else
if (vo_zbor)
{
vo_zbor=0;
broj_zborovi++;
}
}
if (vo_zbor) broj_zborovi++;
printf("Vkupno %d zborovi\n",broj_zborovi);
return 0;
}
треба да ги избори сите зборови од датотеката... Како се внсува и каде се внесува текстуалната датотека што треба да се провери...?
 
Is Friday the 13th really an unusual event?

That is, does the 13th of the month land on a Friday less often than on any other day of the week? To answer this question, write a program that will compute the frequency that the 13th of each month lands on Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, and Saturday over a given period of N years. The time period to test will be from January 1, 1900 to December 31, 1900+N-1 for a given number of years, N. N is non-negative and will not exceed 400.

There are few facts you need to know before you can solve this problem:

January 1, 1900 was on a Monday.
Thirty days has September, April, June, and November, all the rest have 31 except for February which has 28 except in leap years when it has 29.
Every year evenly divisible by 4 is a leap year (1992 = 4*498 so 1992 will be a leap year, but the year 1990 is not a leap year)
The rule above does not hold for century years. Century years divisible by 400 are leap years, all other are not. Thus, the century years 1700, 1800, 1900 and 2100 are not leap years, but 2000 is a leap year.
Do not use any built-in date functions in your computer language.

Don't just precompute the answers, either, please.

PROGRAM NAME: friday

INPUT FORMAT

One line with the integer N.
SAMPLE INPUT (file friday.in)

20
OUTPUT FORMAT

Seven space separated integers on one line. These integers represent the number of times the 13th falls on Saturday, Sunday, Monday, Tuesday, ..., Friday.
SAMPLE OUTPUT (file friday.out)

36 33 34 33 35 35 34
Веќе подолго време, немам идеја за оваа задача.. Не барам решение, само доколку може мала помош, некои можеби совети или нешто, како би можела да се реши?
 
Едно глупаво прашање, како воопшто се проверува дали една програма - датотека во С работи како што треба?

треба да ги избори сите зборови од датотеката... Како се внсува и каде се внесува текстуалната датотека што треба да се провери...?

Ви кажаа за аргументи на main функцијата?
Пример:
Код:
int main (int argc, char *argv[])
 
Ви кажаа за аргументи на main функцијата?
Пример:
Код:
int main (int argc, char *argv[])

Баш за ова сакав да прашам. Укопчав како функционира програмата ако името на датотеката е зададено во кодот, но што кога треба да се зададе преку командна линија. При компајлирање како да ја повикам датотеката?
(не се појавував последните предавања на факс воопшто па затоа појма немам како функционира ова)
 
Ми треба листа со C++ команди и нивното значење. Моментално знам неколку но ми стана досадно да ги комбинирам истите правејќи глупи програми :blabla: Сакам да научам нешто ново.
 

Kajgana Shop

Back
На врв Bottom