C/C++

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Океј е вака... ама мислев дали има нешшто као бројот.lenght опција како во c# и java :)
Кај си видел жити се во C# или во Java метод .length во Integer класата ? :)
Int = цел број;
Int != низа од броеви;
Во ниеден програмски јазик немаш метод .length во класа за цели броеви, тој метод се јавува само кај класи со низи од броеви, карактери или слично. :)
 

Debel

Велијa
Член од
19 мај 2007
Мислења
58
Поени од реакции
1
Дали во C++ постои lenght на int варијабла? Доколку не дали некој знае како да ограничам внесување само на двоцифрени броеви? :)
Еве ти алгоритам

Код:
#include<iostream>
using namespace std;
int main (void)
{

 int broj;
 int brojac=0;
cout << "vnesi nekoj broj: "; cin >> broj;
do
{
 broj=abs(broj/10);
 brojac++;
}while(broj>0);
if(brojac==2)
 cout << "brojot e dvocifren" << endl;
else
 cout << "brojot ne e dvocifren" << endl;
return(0);
}

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

Се пишува број на пример 75467. Бараниот резултат е да ги испечати броевите со зборови. седум пет четири... Некоја идеја како да го направам ова со switch?
Пробав со внесување на број, а потоа за секој број посебен case но очигледно дека не е така :)
Код:
#include<iostream>
using namespace std;

void pecatenje_na_brojot(int cifra)
{
     switch(cifra)
     {
                  case 0:
                       cout << "nula" << " ";
                       break;
                  case 1:
                       cout << "eden" << " ";
                       break;
                  case 2:
                       cout << "dva" << " ";
                       break;
                  case 3:
                       cout << "tri" << " ";
                       break;
                  case 4:
                       cout << "cetiri" << " ";
                       break;
                  case 5:
                       cout << "pet" << " ";
                       break;
                  case 6:
                       cout << "sest" << " ";
                       break;
                  case 7:
                       cout << "sedum" << " ";
                       break;
                  case 8:
                       cout << "osum" << " ";
                       break;
                  case 9:
                       cout << "devet" << " ";
                       break;
     }
}
int main (void)
{
    
    int broj;
    int cifra;
    int obratenbroj=0;

cout << "vnesi go brojot: "; cin >> broj;
do
{
    cifra=broj%10;
    broj=broj/10;
    obratenbroj=((obratenbroj*10)+cifra);
}while(broj>0);
do
{
     cifra=obratenbroj%10;
     obratenbroj=obratenbroj/10;
     pecatenje_na_brojot(cifra);
}while(obratenbroj>0);
cout << endl;
system("pause");
return(0);
}
 

_The Great_

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

Значи вака, се внесуваат податоци како име и поени од прв и втор колоквиум, и сега програмава треба да ги собере бодовите, да ги подреди, и да се испечати ---------\n над тие што имаат помалку од 50 поени.

Јас ја направив, ама со внесување на само поени од прв колоквиум (а треба од двата, нели), засега тешко ми оди како да направам да се пресметаат поените, па да се подредат и ондак да се испечати црта над тие што имаат помалку од 50. Anyone?
 

old_School_mk

Програмер, гејмер, psy-trance уживател
Член од
11 август 2009
Мислења
6.137
Поени од реакции
5.891
Ајде една задача со структури во C.

Значи вака, се внесуваат податоци како име и поени од прв и втор колоквиум, и сега програмава треба да ги собере бодовите, да ги подреди, и да се испечати ---------\n над тие што имаат помалку од 50 поени.

Јас ја направив, ама со внесување на само поени од прв колоквиум (а треба од двата, нели), засега тешко ми оди како да направам да се пресметаат поените, па да се подредат и ондак да се испечати црта над тие што имаат помалку од 50. Anyone?
Пиши го тоа што го имаш досега сработено, па ќе довршиме.
 

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Код:
#include <stdio.h>
#include <stdlib.h>
struct student{
char ime[15];
char prezime[15];
int poeni;
};

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

struct student a[100];
int n,i,j;
printf("Vnesi broj na studenti: ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Vnesete podatoci za %d student\n",i+1);
printf("Ime: ");
scanf("%s",a[i].ime);
printf("Prezime: ");
scanf("%s",a[i].prezime);
printf("Poeni: ");
scanf("%d",&a[i].poeni);
}

struct student temp;
for(i=n-1;i>0;i--){
for(j=0;j<i;j++){
if(a[j].poeni<a[j+1].poeni){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<n;i++){
printf("%s\t%s\t%d\n",a[i].ime,a[i].prezime,a[i].poeni);
if(a[i].poeni>50 && a[i+1].poeni<50){
printf("----------------------------------\n");
}
}
system("PAUSE");
 
Член од
21 ноември 2009
Мислења
29
Поени од реакции
11
Код:
#include <stdio.h>
#include <stdlib.h>
struct student{
char ime[15];
char prezime[15];
int poeni;
};

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

struct student a[100];
int n,i,j;
printf("Vnesi broj na studenti: ");
scanf("%d",&n);
for(i=0;i<n;i++){
printf("Vnesete podatoci za %d student\n",i+1);
printf("Ime: ");
scanf("%s",a[i].ime);
printf("Prezime: ");
scanf("%s",a[i].prezime);
printf("Poeni: ");
scanf("%d",&a[i].poeni);
}

struct student temp;
for(i=n-1;i>0;i--){
for(j=0;j<i;j++){
if(a[j].poeni<a[j+1].poeni){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
for(i=0;i<n;i++){
printf("%s\t%s\t%d\n",a[i].ime,a[i].prezime,a[i].poeni);
if(a[i].poeni>50 && a[i+1].poeni<50){
printf("----------------------------------\n");
}
}
system("PAUSE");
Направив модификации на твојот код, ако имаш нешто нејасно пиши.

Код:
#include<stdio.h>
#include <stdlib.h>
struct Student
{
       char ime [15];
       char prezime[15] ;
       int poeniPrvKol;
       int poeniVtorKol;
};



int main(int argc, char *argv[])
{
   printf("Vnesi broj na studenti: ");
    int n;
    scanf("%d",&n);
    Student student[n];
    for(int i = 0; i < n; i++)
    {
            printf("Vnesete prezime >");
            scanf("%s",&student[i].prezime);
            printf("Vnesete ime >");
             scanf("%s",&student[i].ime);
            printf("Vnesete poeni od prv kol >");
             scanf("%d",&student[i].poeniPrvKol);
           printf("Vnesete poeni od vtor kol >");
             scanf("%d",&student[i].poeniVtorKol);
    }
    for(int i = 0; i < n; i++)
    {
            for(int j = i+1; j < n; j++)
            {
                    if((student[i].poeniPrvKol+student[i].poeniVtorKol)/2<(student[j].poeniPrvKol+student[j].poeniVtorKol)/2)
                    {
                               Student studentTemp = student[i];
                               student[i] = student[j];
                               student[j] = studentTemp;                                                                                              }
                    }
    }
    bool pecateno = false;
    printf("\n");
    for(int i = 0; i < n; i++)
    {
           if((student[i].poeniPrvKol+student[i].poeniVtorKol)/2<=50 && !pecateno)
           {
            printf("--------------------------------------------------------------\n");
            pecateno = true;
            }
           printf( "%s %s %d\n",student[i].prezime,student[i].ime,( student[i].poeniPrvKol + student[i].poeniVtorKol)/2);
    }
    system("PAUSE");
    return 0;
}
 

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Јавува грешка во 16ти ред, она student student не го капирам. Ја искомпајлира ти? :)
Уствари... ме збуни, треба struct student[100], али и така не го компајлира мамата...
 
Член од
21 ноември 2009
Мислења
29
Поени од реакции
11
Јавува грешка во 16ти ред, она student student не го капирам. Ја искомпајлира ти? :)
Уствари... ме збуни, треба struct student[100], али и така не го компајлира мамата...
Пробај со struct Student student[n]
 

_The Great_

Il Genio
Член од
18 јуни 2008
Мислења
5.955
Поени од реакции
3.318
Ништо пак.
Student undecalred -.-

А поима неам како да го декларирам :kesa: :icon_lol:
 
Член од
6 јуни 2009
Мислења
3.094
Поени од реакции
445
Ајде една задача со структури во C.

Значи вака, се внесуваат податоци како име и поени од прв и втор колоквиум, и сега програмава треба да ги собере бодовите, да ги подреди, и да се испечати ---------\n над тие што имаат помалку од 50 поени.

Јас ја направив, ама со внесување на само поени од прв колоквиум (а треба од двата, нели), засега тешко ми оди како да направам да се пресметаат поените, па да се подредат и ондак да се испечати црта над тие што имаат помалку од 50. Anyone?
Офтопик. Ова во Excel се прави за 15 секунди.
 

_The Great_

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

Он Топик: Уште една задача, кој има време нека ја реши ако може. Значи задачата е, да се внесе матрица, и потоа елементите од матрицата да се запишат во низа, но со одредена шема. Пример

1-2-3-4
5-6-7-8
9-1-2-3

е сега, да се оди вака, 1,2,3,4,8,7,6,5,9,1,2,3... т.е. како змија на некој начин оди надесно па доле, па налево, па доле, па надесно :)
 
A

apidrone

Гостин
Bibil хахха, знам, али таква е задачата, јебеш га...

Он Топик: Уште една задача, кој има време нека ја реши ако може. Значи задачата е, да се внесе матрица, и потоа елементите од матрицата да се запишат во низа, но со одредена шема. Пример

1-2-3-4
5-6-7-8
9-1-2-3

е сега, да се оди вака, 1,2,3,4,8,7,6,5,9,1,2,3... т.е. како змија на некој начин оди надесно па доле, па налево, па доле, па надесно :)
Значи да се преврти вториов ред или како?
 
Член од
5 јуни 2008
Мислења
3.632
Поени од реакции
5.724
Bibil хахха, знам, али таква е задачата, јебеш га...

Он Топик: Уште една задача, кој има време нека ја реши ако може. Значи задачата е, да се внесе матрица, и потоа елементите од матрицата да се запишат во низа, но со одредена шема. Пример

1-2-3-4
5-6-7-8
9-1-2-3

е сега, да се оди вака, 1,2,3,4,8,7,6,5,9,1,2,3... т.е. како змија на некој начин оди надесно па доле, па налево, па доле, па надесно :)
Еве го главниот дел од задачата:
Код:
for (i=0; i<red; i++)
{
if [B](i%2==0)[/B] for (j=0; j<kol; j++)  
{
b[k]=a[i][j];
k++;
}
else for (j=kol-1; j>=0; j--)
{
b[k]=a[i][j];
k++;
}
}
k при декларација го иницијализираш на нула, а на крај (со инкрементирањето) ќе ја добие вредноста на вкупниот број на елементи во матрицата (red*kolona). За болдираното: if проверува дали позицијата на редицата од матрицата е парен или непарен број. Ако бројот е парен, тогаш елементите од таа редица од лево на десно да се копираат во нозата b, а ако е непарен, елементите да се копираат од десно на лево. Нулата се има како парна, зошто 0%2==0.
 

Kajgana Shop

На врв Bottom