download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

помощ за аматьорчето? С++

<1 2 3 >

Автор
Съобщение
phrozencrew
Пон, 17.03.08, 11:00
Аз помислих малко за това как ще стане обръщането на масива и ми хрумна ето това:
for(e=0, m=elements; e<elements; e++, m--){
		arrayr[e] = array[m-1];
 }

Готиното на езика е, че позволява вкарването на повече условия във for цикъла (наследство от C), като условията се отделят със запетайка for(e=0, m=elements; e<elements; e++, m--).
Ако използваме компилатор от по-ново поколение с последните стандарти за C/C++ бихме могли да създадем и динамично втория масив:
int arrayr[elements];

Но аз в момента мога да ползвам само стария free компилатор на Borland и за това трябва предварително да обявя колко са елементите в новия масив. Ето как ще изглежда кода с сортиране по метода на мехурчето и после реверсия(обръщане), като в този случай не използвам вградените библиотеки на компилатора:
#include <iostream>
using namespace std;
 
int main() {
  int array[] = { 23, 5, -10, 0, 0, 321, 1, 2, 99, 30 };
  int elements = sizeof(array) / sizeof(array[0]);
  int hold, x, y, e, m;
  int arrayr[10];
  
  
  for(x = 0; x < elements; x++){
    for(y = 0; y < elements; y++){
      if(array[x] < array[y]){
        hold = array[x];
        array[x] = array[y];
        array[y] = hold;
      }
    }
  }
  for (int i = 0; i < elements; ++i) 
     std::cout << array[i] << ' ';
  
  std::cout<<std::endl;
 
 for(e=0, m=elements; e<elements; e++, m--){ //reverse array
		arrayr[e] = array[m-1];
 }
 
  for (int i = 0; i < elements; ++i) 
     std::cout << arrayr[i] << ' ';
}

Изхода от тази програма е същия както и предишният път

anonymous
Вто, 18.03.08, 22:43
взех си изпита!!! благодаря на всички, най вече на Фрозен1

ааа, но беше баси гърча при тоя фюрер

anonymous
Чет, 27.03.08, 22:00

RE: помощ за аматьорчето? С++

кьде е този CommandPrompt-а btw?
:)
anonymous
Пет, 28.03.08, 09:54
аз се научих, сега ще ти кажа и ако сбъркам, някой да ме поправи.
цъкаш на "Start" бутона, после "all programs" , "accessories" и там трябва да го има.
phrozencrew
Пет, 28.03.08, 10:28
Става и така:
Start -> Run -> cmd
А може и още един много тарикатски начин. Отваряш Notepad и пишеш вътре:
cmd.exe
после даваш:
File -> Save As ... -> cmdstart.bat
като избираш разшитението да е All Files.
zlatena
Нед, 30.03.08, 22:47

RE: RE: помощ за аматьорчето? С++

” кьде е този CommandPrompt-а btw?
:) „

За да ти излиза в контекстното меню,когато дадеш с десен бутон например върху My Computer ...нацъкай два пъти рег.файла...след като го изтеглиш
Command_Prompt_Here.reg

редактиран от zlatena на 30.03.08 22:47
anonymous
Вто, 15.04.08, 09:53
хорааа, пак ми трябва помощ. трябва да направя още една програма която да превръща число от десетично в двуично
phrozencrew
Вто, 15.04.08, 13:42

RE: помощ за аматьорчето? С++

” хорааа, пак ми трябва помощ. трябва да направя още една програма която да превръща число от десетично в двуично „
Намерих интересен C код за преобразуване на десетично число в 32битов двуичен код:
http://www.dreamincode.net/code/snippet689.htm
Ето и още един пример:
http://www.engin.umd.umich.edu/CIS/course.des/cis400/cpp/binary.html
редактиран от phrozencrew на 15.04.08 13:44
phrozencrew
Вто, 15.04.08, 15:47
Ето ти малко теория за бинарните системи:
http://en.wikipedia.org/wiki/Binary_numeral_system
В статията има много готин пример как се преобразува числото 118 в бинарен формат.
118 % 2 = 59 -> 0
59 % 2 = 29 -> 1
29 % 2 = 14 -> 1
14 % 2 = 7 -> 0
7 % 2 = 3 -> 1
3 % 2 = 1 -> 1
1 % 2 = 0 -> 1
Ето ти и готов код, който работи по този алгоритъм:
#include <stdio.h>
void dec2bin(int i){
   if(i>1)
   dec2bin(i/2);
   printf("%d",i%2);
}
void main(){
   int i;
   printf("Vyvedi desetichno chislo:n");
   scanf("%d",&i);
   dec2bin(i);
}

zlatena
Сря, 16.04.08, 00:08
phrozen ... интересно е...мерси...

” хорааа, пак ми трябва помощ. трябва да направя още една програма която да превръща число от десетично в двуично „

Искам да ти кажа нещо най-приятелски...то няма да ти помогне сега:
Книгите са съвкупност от труда/ума/знанията на много хора...възползвай се...

"С" практически самоучител
"С" в примери
Алгоритми на "С"
Програмиране=+Алгоритми

anonymous
Чет, 17.04.08, 10:17
отново, мерси, Фрозън!
вече трябва да те черпя 2 бири
phrozencrew
Чет, 24.04.08, 19:20
Тъй като ме помолиха да напиша кода за онлайн конвертор на десетични числа до бинарни реших да поставя тук и базовия JavaScript код който използвах:
<html>
<body>
<script type="text/javascript">
function dec2bin(i){
   str = (i%2);
   document.write(Math.floor(str));
   if(i>1)
   dec2bin(i/2);
}
 
   var i;
   i=118; //тук може да се сложи десетично число по избор
   dec2bin(i);
</script>
</body>
</html>

Ще е интересно какво ще стане с кода на едиз в една друга тема - за конвертиране на числа до хексакод. Може би ще е добре да се слеят темите и да съберем няколко подобни онлайн конвертори (след преработка на C/C++ кода до JavaScript), които да са полезни на всички.

anonymous
Чет, 16.10.08, 11:47

RE: помощ за аматьорчето? С++

” Ето ти малко теория за бинарните системи:
http://en.wikipedia.org/wiki/Binary_numeral_system
В статията има много готин пример как се преобразува числото 118 в бинарен формат.
118 % 2 = 59 -> 0
59 % 2 = 29 -> 1
29 % 2 = 14 -> 1
14 % 2 = 7 -> 0
7 % 2 = 3 -> 1
3 % 2 = 1 -> 1
1 % 2 = 0 -> 1
Ето ти и готов код, който работи по този алгоритъм:
#include <stdio.h>
void dec2bin(int i){
   if(i>1)
   dec2bin(i/2);
   printf("%d",i%2);
}
void main(){
   int i;
   printf("Vyvedi desetichno chislo:n");
   scanf("%d",&i);
   dec2bin(i);
}

Дава ми грешка на 7-ми ред при компилиране с DEV-C++, защо?

boy4o
Чет, 16.10.08, 12:10
main() може да бъде само от тип int.

<1 2 3 >

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.