C/C++

Dead Wrong

Love United Hate Glazer
Член од
8 септември 2007
Мислења
220
Поени од реакции
1
Да ве замолам за помош, ми треба код во C++ за задачава:
да се напише програма со користење датотеки, да се чита текстуална датотека kоја содржи цели броеви и букви случајно распоредени. Во main да се изработи мени за избор за извршување операциите (+, -, *, : ) над секои два последователни броја од датотеката. Резултатите од операциите да се запишуваат во излезна датотека во засебни редови, во формат: (пр. 2 + 3 = 5)
Однапред ви благодарам за помошта, поздрав
 

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Дечки ај едно прашање вака набрзина, т.е. задача.

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

Знам како обично да ја решам, лесна е, ама ова со функцииве ме буни некако мамата...
 
Член од
21 ноември 2009
Мислења
29
Поени од реакции
11
Дечки ај едно прашање вака набрзина, т.е. задача.

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

Знам како обично да ја решам, лесна е, ама ова со функцииве ме буни некако мамата...
Код:
#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;
}
 
Член од
14 април 2007
Мислења
1.812
Поени од реакции
1.047
Доколку некој има материјал за датотеки во Ц++ би го замолил да ми го прати. Благодарам.
 

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Код:
#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...
 
Член од
14 јануари 2008
Мислења
4.251
Поени од реакции
909
Код:
#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.

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

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Не, не. Океј си имаш објаснето.

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

Благодариме :)
 

ACHQ

hawk
Член од
18 јули 2009
Мислења
702
Поени од реакции
73
Помош околу задача со датотеки. (итно)

Да се чита текстуална датотека 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.
 

Божана

Morning sun
Член од
17 август 2009
Мислења
226
Поени од реакции
111
Ај мала помош. Ја имам структурата:
struct Informacii {
string Ime;
string Prezime;
int MatBroj;
DataType Data;
bool LK;
bool Pasos;
bool Vozacka;
}

Како да им доделам на ЛК, Пасош и Возачка вредност, но да ги запишам во датотека право?
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
Едно глупаво прашање, како воопшто се проверува дали една програма - датотека во С работи како што треба?

Пример:
Код:
#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;
}
треба да ги избори сите зборови од датотеката... Како се внсува и каде се внесува текстуалната датотека што треба да се провери...?
 

Адиктус

Дрф.
Член од
26 јануари 2008
Мислења
725
Поени од реакции
33
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
Веќе подолго време, немам идеја за оваа задача.. Не барам решение, само доколку може мала помош, некои можеби совети или нешто, како би можела да се реши?
 
A

apidrone

Гостин
Едно глупаво прашање, како воопшто се проверува дали една програма - датотека во С работи како што треба?

треба да ги избори сите зборови од датотеката... Како се внсува и каде се внесува текстуалната датотека што треба да се провери...?
Ви кажаа за аргументи на main функцијата?
Пример:
Код:
int main (int argc, char *argv[])
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
Ви кажаа за аргументи на main функцијата?
Пример:
Код:
int main (int argc, char *argv[])
Баш за ова сакав да прашам. Укопчав како функционира програмата ако името на датотеката е зададено во кодот, но што кога треба да се зададе преку командна линија. При компајлирање како да ја повикам датотеката?
(не се појавував последните предавања на факс воопшто па затоа појма немам како функционира ова)
 
K

kalimer0

Гостин
Ми треба листа со C++ команди и нивното значење. Моментално знам неколку но ми стана досадно да ги комбинирам истите правејќи глупи програми :blabla: Сакам да научам нешто ново.
 

Kajgana Shop

На врв Bottom