Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
C++

Tablice zmiennychPoczątek nauki

C++

  • Zamknięty Temat jest zamknięty
16 odpowiedzi w tym temacie

#1 Kusek

    z Wikipedii

  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 24.08.2010 19:42

Witam, zacząłem się nie dawno uczyć C++ (2 dni temu) i doszedłem w kursie do tablic zmiennych. Przeczytałem cały dział wszystko git, potem kazali zrobić zadanie o to jego treść
1. Napisz program, który wykona poniższe zadania:

-> 2 + 7 * 16 - 8

-> 22 * 2 : 11

-> 8383 - 222 + 292 * 8

-> 5 * 2 * 4

Wyniki zapisz do tabeli, a następnie wyświetl je na ekranie.

Więc od razu zacząłem brać się do roboty, napisałem już sobie kodzik, szczęśliwy kompiluje go żadnego błędu, włączam program a tutaj jakieś kosmiczne wyniki
Dzialanie        Wynik
--------------------------------
2+7*16-8   = 11576
22*2:11    = 12593
8383-222+292*8 = 10808
5*2*4      = 10804

a tutaj mój kodzik

#include <iostream>
#include <conio.h>

const short MAX_ZNAKOW = 16;
const short LICZBA_DZIAL = 5;
using namespace std;
int main()
{
char dzialania[LICZBA_DZIAL][MAX_ZNAKOW] = {
{'2', '+', '7', '*', '1', '6', '-', '8'},
{'2', '2', '*', '2', ':', '1', '1'},
{'8', '3', '8', '3', '-', '2', '2', '2', '+', '2','9', '2', '*', '8'},
{'5', '*', '2', '*', '4'},
};
short wynik[LICZBA_DZIAL] = {'2+7*16-8','22*2/11','8383-222+292*8','5*2*4'};

cout <<"Dzialanie "<<"Wynik\n";
cout <<"--------------------------------\n";
cout <<dzialania[0]<<" = "<<wynik[0]<<endl;
cout <<dzialania[1]<<" = "<<wynik[1]<<endl;
cout <<dzialania[2]<<" = "<<wynik[2]<<endl;
cout <<dzialania[3]<<" = "<<wynik[3]<<endl;


getch();
return 0;
}


czy da się to jakoś zerować ??
  • +
  • -
  • 0

#2 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 24.08.2010 20:00

short wynik[LICZBA_DZIAL] = {2+7*16-8,22*2/11,8383-222+292*8,5*2*4};

24 sierpień 2010 - 21:04:
po drugie

char dzialania[LICZBA_DZIAL][MAX_ZNAKOW] = {
    "2+7*16 -8", "22*2:11"}, "8383-222+292*8","5*2*4"
};
a po 3 uzyj petli :D
  • +
  • -
  • 1
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#3 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 24.08.2010 21:06

wiem że to dobrze, ale w zadaniu karzą zrobić tym sposobem

przecież to 1 to jest to samo tylko usunąłeś
' '
a pętli czy jak? ;P


@Edit
No dzięki pomogło to 1, ale jak to się dzieje że usunąłeś tylko
' '
i wwszystko ładnie obliczyło :o

A do tej pętli to jaki kod?

@Edit2
znalazłem coś

7. Pętla

for (i=0; i<a; i++){
for (j=0; j<b; j++){
cout << "#";
}
cout <<"\n";
}

Widzimy tutaj pętle for zawartą w pętli for. Niezły mętlik ale tak naprawdę to bardzo proste. Program najpierw przypisuje i wartość 0 a następnie sprawdza kiedy ma się zatrzymać, a zatrzyma się wtedy gdy i będzie mniejsze od podanej wartości boku a. Następnie pętla zawierająca zmienną j powtórzy ją w linii ciągłej tyle razy na ile długi jest bok b.

Będzie tyle „#” w jednej linii na ile szeroki jest ten prostokąt, a szerokość ta powtórzy się tyle razy na ile wysoki on jest.

Aby wszystko nie było w linii ciągłej niezbędne jest
dodanie odstępu na końcu pętli (cout << „\n”;)


i za bardzo nie rozumiem ^^

cały kod

#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int a, b, i, j;
cout << "Wprowadz dlugosci bokow a i b prostokata \n" << endl;
cout << "a = ";
cin >> a;
cout << "b = ";
cin >> b;
cout << "\n";
if ((a<0) || (b<0) || (a>30) || (b>30) || (1*a!=a) || (1*b!=b)) {
cout << "\nWprowadziles ujemne lub zbyt duze wartosci bokow\n";
}else
for (i=0; i<a; i++){
for (j=0; j<b; j++){
cout << "#";
}
cout <<"\n";
}
cout << "\n";
system("PAUSE");
return EXIT_SUCCESS;
}

Użytkownik Frajer edytował ten post 24.08.2010 21:17

  • +
  • -
  • 0

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.08.2010 21:18


#include <iostream>

#include <string>

#include <conio.h>



#define MAX_ZNAKOW  16

#define LICZBA_DZIAL  5

using namespace std;

int main()

{

	string dzialania[LICZBA_DZIAL] =

	{

		"2 + 7 * 16 - 8",

		"22 * 2 : 11",

		"8383 - 222 + 292 * 8",

		"5 * 2 * 4"

	};

	int wynik[LICZBA_DZIAL] = {2+7*16-8,22*2/11,8383-222+292*8,5*2*4};



	cout <<"Dzialanie        "<<"Wynik\n";

	cout <<"--------------------------------\n";

	for(int i = 0;i<sizeof(dzialania)/LICZBA_DZIAL;i++){

		cout <<dzialania[i]<<"   = "<<wynik[i]<<endl;

	}





	getch();

	return 0;

}

  • +
  • -
  • 0

#5 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 24.08.2010 21:28

Dark nigdy bym nie wpadł na taki pomysł xD, jeszcze nie doszedłem do Pętl w kursie. Pytałem się bardziej o poprawienie kodu (Goq thx) w nowatorski sposób ^^

@Edit
Proszę nie zamykać bo będę robić drugie zadanie to jak coś nie będę umieć to się was zapytam jbc. :) ;> :kwiaty:

Użytkownik Frajer edytował ten post 24.08.2010 21:30

  • +
  • -
  • 0

#6 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 25.08.2010 00:05

Frajer chodzilo o to ze dzialanie dales w "" a to jest traktowane jako txt a nie wyrazenie do obliczenia to po pierwsze po drugie tablica charow moze tworzyc c-string jesli zamiast pojedynczych elementow uzyjesz "" polecam symfonie c++ albo jakis ogarniety poradnik bo jesli w tym twoim cie ucza takiego czegos to watpie zebys daleko zaszedl :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#7 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 27.08.2010 17:53

no mam problemik ;P, czy da się zrobić aby mój interfejs sam się zmieniał??


cout<<"--------------------------------------------\n"
<<"Marka"<<" | "<<"Model"<<" | "<<"Pojemnosc"<<" | "<<"Predkosc max\n"
<<"--------------------------------------------\n";
cout<<marka<<" | "<<model<<" | "<<pojemnosc<<" | "<<max<<endl
<<marka2<<" | "<<model2<<" | "<<float(pojemnosc2)<<" | "<<max2<<endl
<<marka3<<" | "<<model3<<" | "<<float(pojemnosc3)<<" | "<<max3<<endl;
cout<<"--------------------------------------------\n";

  • +
  • -
  • 0

#8 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.08.2010 18:00

jaśniej proszę :)
  • +
  • -
  • 0

#9 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 27.08.2010 18:15

hmm, chcę aby " | " się przesuwały razem z tekstem i aby były połączone ze sobą, aby robiły ładny szkielet :)
  • +
  • -
  • 0

#10 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 27.08.2010 18:31

kombinuj z
cout.width(liczba);
lub znakiem \t
miałem gdzieś kod ale znaleźć go nie mogę

Użytkownik DarkGL edytował ten post 27.08.2010 18:32

  • +
  • -
  • 1

#11 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 27.08.2010 18:44

hmm albo poprostu jak chcesz ladna ramke to mozesz wziąć sobie patent jeszcze z czasow pascala a mianowicie dlugosc najwiekszego txt'u i ustawic all ladnie spacjami tylko nie pamietam jak to bylo ale chyba
zmienna_typu_string.length

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#12 Kusek

    z Wikipedii

  • Autor tematu
  • Power User

Reputacja: 446
Wszechobecny

  • Postów:1 655
  • Imię:Krystian
Offline

Napisano 27.08.2010 18:45

i don't understand you, write me all cod, please :blaga: :blaga: :blaga: :blaga: :blaga: :blaga: :blaga: :blaga:

@Edit
dobra poradziłem sobie \t
nie zamykać jeszcze xD

Użytkownik Frajer edytował ten post 27.08.2010 19:03

  • +
  • -
  • 0

#13 Snejk47

    Zaawansowany

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 29.08.2010 11:43

Taki mały OT, nie bijcie :P

Jeżeli masz zamiar programować tylko na Windowsa to nie wiem czy jest sens pisania w czystym C++, Windowsy przejmuję teraz .NET (a i na linuxa szybko sobie z portowali (MONO)). Co więcej używając .NET można pisać aplikację na wszystkie Windowsy, np. Windows Mobile: GPS'y (przynajmniej mój ma WMoblile :P), palmtopy PocketPC, palmofony oraz smartphone'y.\ ;) Co więcej szybciej można stworzyć programy. W .NETcie można pisać w C++, VB.NET, C#, J# i inne jak kto lubi. Osobiście polecam VB.NET lub C#. VB.NET bardzo prosty, C# bardziej "wspierany".

Btw. Windows Vista, Se7en ma już .NET Frameworka ;)

Pozdro.

Użytkownik TheSnake edytował ten post 29.08.2010 11:44


#14 Snejk47

    Zaawansowany

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 29.08.2010 14:23

.NET to skrót od .NET Framework, można by powiedzieć, że to drugie "Windows API" Wikipedia. Działa podobnie jak Java, lecz dużo szybciej.

Inaczej mówiąc jest to zbiór bibliotek ułatwiających pracę nad programem. Jak już pisałem wcześniej można tego używać w różnych językach VB.NET (odświeżony Visual Basic), C#, C++, J# - Java.

#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 29.08.2010 14:25

czYli to zwykłe biblioteki :D ?
  • +
  • -
  • 0

#16 Snejk47

    Zaawansowany

  • Zbanowany

Reputacja: -1
Nowy

  • Postów:78
  • GG:
  • Imię:Snejk
  • Lokalizacja:Bytom
Offline

Napisano 29.08.2010 14:34

czYli to zwykłe biblioteki :D ?

Nie, Kurs C#, dot. starszej wersji .NET'a, ale przy nowszych oprócz większej funkcjonalności nie ma różnicy.

#17 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 983
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 29.08.2010 14:39

win api to biblioteka więc .NET także chyba że to platforma do rozprowadzania oprogramowania

Użytkownik DarkGL edytował ten post 29.08.2010 14:39

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: C++

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych