C/C++

M

Mr.InF3ction

Гостин
Еве една мала програма каде што чита и печати низа со покажувачи во посебна функција:
Болдираното е тоа што треба да знаеш :)


void citanje_a(int n, int *a)
{
int i;
for(i=0;i<n;i++)
{
printf("a[%d]= ",i);
scanf("%d",&(*(a+i)));
}

for(i=0;i<n;i++)
printf("%d,",*(a+i));
}



int main ()
{
int n,a[100];
printf("kolku elementi ke vnesete");
scanf("%d",&n);
citanje_a(n,a);

}
 

UfS

Член од
13 декември 2011
Мислења
4
Поени од реакции
1
Da se izvrsi ciklicno pomestuvanje na bukvite vo nekoj zbor vnesen preku tastatura za n (ovoj broj e vnesen preku tastatura) mesta nalevo ili nadesno (ovoj izbor se vnesuva preku tastatura).!

Ama za zal ne gi rotira pravilno :(

Thanks

Код:
#include <stdio.h>
#include <stdlib.h>
 
 
int dolzina(char string[]);
int main(int argc, char *argv[])
{
 
int n,k,a;
int i=0,t=0;
int temp=0;
char zbor[1000];
char izbor;
 
printf("Vnesete go zborot:");
scanf("%s", &zbor);
k=dolzina(zbor);
printf("\nVnesete za kolku mesta da se pomestat bukvite vo zborot %s:\n",zbor);
scanf("%d",&n);
printf("Dali sakate da se pomestat levo ili desno:\n");
scanf("%s",&izbor);
 
 
switch(izbor)
{
 
case 'l':
k=dolzina(zbor);
for (t=0;t>=n;t++)
{
temp = zbor[k-1];
for (i=k-1;i>=0;i--)
{
zbor[i]=zbor[i-1];
}
zbor[0]=temp;
}
printf("Noviot zbor e: %s",zbor);
break;
 
 
 
case 'd':
for (t=0; t<=n;t++)
{
temp = zbor[k-1];
for (i=k-1; i!=0; i--)
{
zbor[i]=zbor[i-1];
 
zbor[0]=temp;
}
printf("Noviot zbor e: %s\n",zbor);
break;
}
default:
printf("Vnesete levo ili desno!\n");
}
 
 
 
system("PAUSE");
return 0;
}
int dolzina(char zbor[]){
    int dolzina=0;
    int i=0;
    while(zbor[i]!='\0'){
                          i++;
                          dolzina++;
                          }
                          return dolzina;
                          }
 
Член од
5 август 2009
Мислења
1.295
Поени од реакции
484
Некој да ме посочи каде можам да ја најдам книгата „Програмирање за почетници C++“ од Ѓорги Јованчевски, или ако можеби ја има скенирана, копирана, и сл.
 
Член од
23 септември 2011
Мислења
21
Поени од реакции
0
Дадена матрица во меморија, да се испечати во спирала во насока обратно од стрелките на часовникот (лева колона надолу, долна редица надесно, десна колона нагоре, горна редица налево, итн додека не се дојде до средина).


1 2 3
8 9 4
7 6 5


and the result for print is 1 2 3 4 5 6 7 8 9

ако може некој да ми помогне, да ми каже како да ја решам во C++, за да можам полесно да ја преведам во асемблер?
 
Член од
17 декември 2011
Мислења
7
Поени од реакции
0
Дали има некој што може да ми помогне да направам код за зададена задача за семинарска? Ми треба во C++ ама пошто немам до сега работено неможам да се снајдам :)
 
Член од
7 јануари 2008
Мислења
5.366
Поени од реакции
804
Дали има некој што може да ми помогне да направам код за зададена задача за семинарска? Ми треба во C++ ама пошто немам до сега работено неможам да се снајдам :)
Ќе може да ја видиме задачата ?
 
Член од
17 декември 2011
Мислења
7
Поени од реакции
0
За потреби на транспортно претпријатие собрани се податоци за камиони во 2 низи со по N елементи. Едната низа километри (N), содржи податоци за поминатите километри на секој од N-те камиони последователно за еден ден. Другата низа гориво (N) содржи податоци и за потрошеното гориво на секој од камионите последователно, во текот на еден ден. Да се напише програма која ќе пресметува:
А) вкупно поминат пат на сите N камиони и вкупно потрошено гориво
Б) просечен поминат пат на камионите и просечно потрошено гориво по километар
В) индекс (реден број помеѓу 1 и N) на камионот кој поминувал најмногу километри
Г) индекс на камион кој има наекономична потрошувачка
Ќе може да ја видиме задачата ?

еве ја задачата :)
 
Член од
7 јануари 2008
Мислења
5.366
Поени од реакции
804
За потреби на транспортно претпријатие собрани се податоци за камиони во 2 низи со по N елементи. Едната низа километри (N), содржи податоци за поминатите километри на секој од N-те камиони последователно за еден ден. Другата низа гориво (N) содржи податоци и за потрошеното гориво на секој од камионите последователно, во текот на еден ден. Да се напише програма која ќе пресметува:
А) вкупно поминат пат на сите N камиони и вкупно потрошено гориво
Б) просечен поминат пат на камионите и просечно потрошено гориво по километар
В) индекс (реден број помеѓу 1 и N) на камионот кој поминувал најмногу километри
Г) индекс на камион кој има наекономична потрошувачка


еве ја задачата :)
А за кога треба да ти биде готова ?
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
Дали има некој што може да ми помогне да направам код за зададена задача за семинарска? Ми треба во C++ ама пошто немам до сега работено неможам да се снајдам :)
Неможам да сватам како е можно да ти дадат семинарска за нешто што немаш до сега работено... башка оваа задача е премногу лесна, се решава со 1 for циклус... зар вакви задачи ви даваат за семинарски ? :S

- Ќе декларираш променливи
- Со for ќе изминуваш од 0 до N и ќе правиш пресметки
- Ќе ги печатиш резултатите (и евентуално дополнителна пресметка при печатењето)

Тоа ти е целата задача... срамота е за 10 реда код да ти ја решам и да направиш само copy - paste кога веќе си се запишала на таков факс.
 
Член од
17 декември 2011
Мислења
7
Поени од реакции
0
Неможам да сватам како е можно да ти дадат семинарска за нешто што немаш до сега работено... башка оваа задача е премногу лесна, се решава со 1 for циклус... зар вакви задачи ви даваат за семинарски ? :S

- Ќе декларираш променливи
- Со for ќе изминуваш од 0 до N и ќе правиш пресметки
- Ќе ги печатиш резултатите (и евентуално дополнителна пресметка при печатењето)

Тоа ти е целата задача... срамота е за 10 реда код да ти ја решам и да направиш само copy - paste кога веќе си се запишала на таков факс.
ако знаев тоа да го напрам немаше да побарам помош :) прв пат се среќавам со ова и не сум сеуште баш уходана како работи програмата :) сепак фала :)
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
ако знаев тоа да го напрам немаше да побарам помош :) прв пат се среќавам со ова и не сум сеуште баш уходана како работи програмата :) сепак фала :)
Немој да ме сватиш погрешно, али невкусно е да јас да ти ја напишам цела програма, а ти да направиш само copy - paste без никаков труд... Целта ми е ако сакаш да го научиш ова и да се потрудиш малце за да го сватиш... Како и да е, еве ти го кодот, види и што не ти е јасно прашај.
п.с. ваљда нема грешки во пресметките :)

Код:
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    // Broj na kamioni
    int N = 10;
   
    // Random vrednosti za pominati kilometri i potroseno gorivo
    int kilometri[] = { 32, 52, 34, 93, 54, 23, 52, 23, 56, 19 };
    int gorivo[] = { 22, 17, 43, 98, 45, 23, 54, 67, 43, 12 };
   
    // Promenlivi za vkupno pominati kilometri i vkupno potroseno gorivo
    int vkupno_kilometri = 0, vkupno_gorivo = 0;
    // Promenlivi za indeks na kamionot so najmnogu pominati kilometri
    int indexA = 0, indexB = kilometri[0];
   
    // Promenlivi za index na kamion so najekonomicna potrosuvacka
    int indexC = 0;
    double indexD = (double)gorivo[0] / (double)kilometri[0];
   
    // Izminuvanje na nizite
    for(int i=0; i<N; i++) {
           
            if( i > 0 ) {
                // proveruvanje na kamionot so najmnogu pominati kilometri
                if( kilometri[i] > indexB ) {
                    indexB = kilometri[i];
                    indexA = i;
                }
               
                // baranje na indeks na najekonomicniot kamion
                double tmp = (double)gorivo[i] / (double)kilometri[i];
                if( tmp < indexD ) {
                    indexD = tmp;
                    indexC = i;
                }
            }
           
            // presmetuvanje na zbir na pominati kilometri i potroseno gorivo
            vkupno_kilometri += kilometri[i];
            vkupno_gorivo += gorivo[i];
    }
   
    // Pecatenje na rezultatite
    cout << "Vkupno pominati kilometri: " << vkupno_kilometri << endl;
    cout << "Vkupno potroseno gorivo: " << vkupno_gorivo << endl;
    cout << "Prosecno pominati kilometri: " << vkupno_kilometri / N << endl;
    cout << "Prosecno potroseno gorivo po kilometar: " << (double)vkupno_gorivo / (double)vkupno_kilometri << endl;
    cout << "Kamionot so najmnogu pominati kilometri ima index: " << indexA << endl;
    cout << "Najekonomicniot kamion ima index: " << indexC << endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}
Вредностите на бројот на камиони, поминати километри и потрошено гориво се рандом, нема наведено како се внесуваат и исто така за точките со печатењето на индексите... секоја низа започнува со index 0... така и печати програмов (значи првиот елемент има index 0), ако сакаш да ги печати со реден број на елементите наместо индекс ќе ставиш indexA+1 (исто и кај indexC ќе ставиш indexC+1).
 
Член од
17 декември 2011
Мислења
7
Поени од реакции
0
Немој да ме сватиш погрешно, али невкусно е да јас да ти ја напишам цела програма, а ти да направиш само copy - paste без никаков труд... Целта ми е ако сакаш да го научиш ова и да се потрудиш малце за да го сватиш... Како и да е, еве ти го кодот, види и што не ти е јасно прашај.
п.с. ваљда нема грешки во пресметките :)

Код:
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    // Broj na kamioni
    int N = 10;
 
    // Random vrednosti za pominati kilometri i potroseno gorivo
    int kilometri[] = { 32, 52, 34, 93, 54, 23, 52, 23, 56, 19 };
    int gorivo[] = { 22, 17, 43, 98, 45, 23, 54, 67, 43, 12 };
 
    // Promenlivi za vkupno pominati kilometri i vkupno potroseno gorivo
    int vkupno_kilometri = 0, vkupno_gorivo = 0;
    // Promenlivi za indeks na kamionot so najmnogu pominati kilometri
    int indexA = 0, indexB = kilometri[0];
 
    // Promenlivi za index na kamion so najekonomicna potrosuvacka
    int indexC = 0;
    double indexD = (double)gorivo[0] / (double)kilometri[0];
 
    // Izminuvanje na nizite
    for(int i=0; i<N; i++) {
         
            if( i > 0 ) {
                // proveruvanje na kamionot so najmnogu pominati kilometri
                if( kilometri[i] > indexB ) {
                    indexB = kilometri[i];
                    indexA = i;
                }
             
                // baranje na indeks na najekonomicniot kamion
                double tmp = (double)gorivo[i] / (double)kilometri[i];
                if( tmp < indexD ) {
                    indexD = tmp;
                    indexC = i;
                }
            }
         
            // presmetuvanje na zbir na pominati kilometri i potroseno gorivo
            vkupno_kilometri += kilometri[i];
            vkupno_gorivo += gorivo[i];
    }
 
    // Pecatenje na rezultatite
    cout << "Vkupno pominati kilometri: " << vkupno_kilometri << endl;
    cout << "Vkupno potroseno gorivo: " << vkupno_gorivo << endl;
    cout << "Prosecno pominati kilometri: " << vkupno_kilometri / N << endl;
    cout << "Prosecno potroseno gorivo po kilometar: " << (double)vkupno_gorivo / (double)vkupno_kilometri << endl;
    cout << "Kamionot so najmnogu pominati kilometri ima index: " << indexA << endl;
    cout << "Najekonomicniot kamion ima index: " << indexC << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
}
Вредностите на бројот на камиони, поминати километри и потрошено гориво се рандом, нема наведено како се внесуваат и исто така за точките со печатењето на индексите... секоја низа започнува со index 0... така и печати програмов (значи првиот елемент има index 0), ако сакаш да ги печати со реден број на елементите наместо индекс ќе ставиш indexA+1 (исто и кај indexC ќе ставиш indexC+1).


фала многу :) јас се трудам да сфатам и да го научам ама пошто сум почетник малку тешко ми оди а ова ми требаше за мн брзо време за то време неможам да го научам :) фала мн ако треба нешто да се објасни ќе прашам :)
 

SkyDriver

Would like my bananna ?
Член од
31 јули 2008
Мислења
2.140
Поени од реакции
221
фала многу :) јас се трудам да сфатам и да го научам ама пошто сум почетник малку тешко ми оди а ова ми требаше за мн брзо време за то време неможам да го научам :) фала мн ако треба нешто да се објасни ќе прашам :)
Заборавив една работа, сега ми текна... кај делот со печатењето на просечно поминати километри ти треба децимален резултат зашто бараш аритметичка средина, промени го тој дел вака:
Код:
// ova
cout << "Prosecno pominati kilometri: " << vkupno_kilometri / N << endl;
// promeni go vaka
cout << "Prosecno pominati kilometri: " << (float)vkupno_kilometri / (float)N << endl;
Грешки сме, луѓе правиме :)
 
Член од
17 декември 2011
Мислења
7
Поени од реакции
0
Заборавив една работа, сега ми текна... кај делот со печатењето на просечно поминати километри ти треба децимален резултат зашто бараш аритметичка средина, промени го тој дел вака:
Код:
// ova
cout << "Prosecno pominati kilometri: " << vkupno_kilometri / N << endl;
// promeni go vaka
cout << "Prosecno pominati kilometri: " << (float)vkupno_kilometri / (float)N << endl;
Грешки сме, луѓе правиме :)

okej :) fala
 

Kajgana Shop

На врв Bottom