Mam takie zadanie, w którym głównie chodzi o to, że program rozpoznaje znaki wpisane z klawiatury i podejmuje odpowiednie akcje. Np:
$1 += 2
,tu trzeba do pierwszej komórki tablicy dodać 2.
$3 += $2
,tu zawartość trzeciej komórki dodać do drugiej.
Jakby ktoś mógł mi dać jakieś rady, albo najlepiej odezwać się na gg: 425551
#include<iostream>
#include<conio.h>
using namespace std;
int main()
{
int a;
int tab[a];
cout<<"podaj kolejno 3 liczby"<<endl;
for (a=0;a<3;a++)
{
cin>>tab[a];
}
cout<<"wartosci w tabeli po zmianach: "<<endl;
tab[0]=tab[0]+2;
tab[1]+=tab[2];
for (a=0;a<3;a++)
{
cout<<tab[a]<<endl;
}
getch();
}
_______
mam nadzieje ze nie napisalem nic glupiego ; d uzywam dev-cpp kompilatora bo jest darmowy
i ogolnie to nie wiem dokonca o co biega w twoim zadaniu
Zmieniony 2008-06-11 17:46:31 przez Repomaniak
Ale jak zrobić, aby program rozpoznawał np. " $2 " wpisane z klawiatury.
chcesz aby to rozpoznalo ciag znakow "$2" zamienilo na wartosc liczbowa i dopiero to co ja zrobilem ?
ja jebie, przeciez masz forum dla eti infy i tam jest topic o tym projekcie to sie pytaj tam xd
Jest taka zabawna funkcja jak scanf, polecam :>
"int a;
int tab[a];"
ekhm ?
No co, kompilator się najwyżej popluje że nie wolno deklarować zmiennych tablicowych o zmiennym rozmiarze ;>
no to może chociaż
"int a = 3;
int tab[a];"
bo tak to w zmiennej "a" mamy śmieci ;p
#include<iostream>
#include<conio.h>
int main()
{
unsigned char znak;
using namespace std;
char a[100]; //char a; zeby dzialalo
cin>>a;
znak=a;
std::cout<<"znak "<<znak<<" kod: "<<static_cast<int>(znak)<<std::endl;
getch();
return(0);
}
invalid conversion from `char*' to `unsigned char'
I DUPA xd przy literze na cyfre dziala
niestety rusk nie jest super programista
#13 funkcja atoi ze stdio.h (albo stdlib.h lub string.h, głowy sobie nie dam uciąć, ale raczej stdio.h) waćpanie. Static cast co najwyżej wskaże ci adres w pamięci danego łańcucha znaków.
char a[4] = "123";
int i = atoi(a);
std::cout << i << std::endl;
no i oczywiście
unsigned char znak
to 1 znak. Jak ty chcesz w obszar pamięci przeznaczony dla 1 znaku wrzucic nagle 100 znaków ? Czarodziej czy co ?
#10
poniższy kod też nie zadziała.
int a = 3;
int tab[a];
w c należy użyć:
int a = 3;
int* tab = (int*) malloc(sizeof(int)*a);
a gdy już nie potrzebujemy tablicy tab (lub na zakonczeniu programu)
free(tab);
natomiast w c++
int a = 3;
int* tab = new int[a];
a gdy już nie potrzebujemy tablicy tab (lub na zakonczeniu programu)
delete [] tab;
wszak nie będzie to dosłownie "tablica", ale na twoim poziomie możesz przyjąć, że nią jest ;->
Zmieniony 2008-07-11 02:59:35 przez Nargil