Dobrý den mam dotaz, ale nevím přesně jak ho formulovat :-) Dám příklad, budu mít dvě proměnný a do každý z nich si budu ukládat nějaký čísla program poběží furt do kola dokud ho neukončím sám. Lze si ty čísla potom nějak zavolat zpětně abych je vypsal? Ale ne pomocí pole. Lze to řešit jinak??
Fórum › C / C++
String
pokud jde o vyvolání těch čísel po skončení programu, tak je uložit do souboru
hu
Ne to ne myslim tim napriklad to ze, program se me bude ptat na cislo ja budu zadavam vzdy jedno pak zadam druhy atd... a potom treba pri stisku urcite klavesy se program ukonci ale pred tim nez se ukonci tak se vypisou vsechny cisla ktery sem dosud napsal
no toto jsem se naucitl v prvni lekci kde jsem mel printf() a scanf()
doporucuji napr.: http://www.sallyx.org/sally/c/
#7 Karel P.
Buď Tě nechápe, nebo ty nevíš co chceš
Zadání znělo jasně...načítat do proměnné čísla a vypsat je po ukončení cyklu....tzn. zpětně ty, které byly načteny., což program od Keyzio nesplňuje.
Toto musíš řešit pomocí pole..jinak to nejde, protože pokud budeš mít jednu proměnnou, tak si ji pokaždé přepíšeš a starou hodnotu nezjistíš.
Další řešení, ale to už je pro tebe asi vyšší dívčí je pomocí spojového seznamu nebo vector.
Ale pokud se budem držet toho, že jsi začátečník....tak odpověď na původní otázku je...ne, bez pole to nejde
proste neco takovyho #include <iostream>
using namespace std;
int main(void)
{
do{
int a;
int b;
cout << "Zadej cislo a :";
cin >> a;
cout<< "Zadej cislo b :";
cin >> b;
}while ((a!=0)&&(b!=0));
return 0;
}
ze kdyz stisknu 0 a 0 tak se program ukonci ale nez se ukonci tak mi to vypise vsechny cisla ktery sem doposud zadal....me staci rict kam si je mam ukladat ty cisla do ceho do nejakyho retezce? string ale cisla nezere tak jak to mam udelat nebo to jde nejak s tim stringem? do pole to nesmim ukladat to nam ucitel zakazal...
no tak kdyz mas k dispozici C++ tak muzes pouzit treba vector nebo list/queue ...
http://www.cplusplus.com/reference/stl/queue/push/ (dokonce tam mas i ukazku kodu, co dela vlastne presne co chces)
Zkus se kouknout na specifikaci vektoru. Popřípadě na spojový seznam. Oboje už tu bylo zmíněno.
Samozřejmě můžeš čísla ukládat třeba do souboru, řetězce atd...
#16 oplis1
Nedal jsem ti kód :-)
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int input,n;
int count=0;
int * numbers = NULL;
int * more_numbers;
do {
printf ("Enter an integer value (0 to end): ");
scanf ("%d", &input);
count++;
more_numbers = (int*) realloc (numbers, count * sizeof(int));
if (more_numbers!=NULL) {
numbers=more_numbers;
numbers[count-1]=input;
}
else {
free (numbers);
puts ("Error (re)allocating memory");
exit (1);
}
} while (input!=0);
printf ("Numbers entered: ");
for (n=0;n<count;n++) printf ("%d ",numbers[n]);
free (numbers);
return 0;
}
Ak by nevadilo ze cisla budu v opacnom poradi tak sa da pouzit rekruzia:
void fnc(){
int i;
printf("zadaj cislo: ");
scanf("%d", &i);
if(i)fnc();
printf("%d, ", i);
}
int main(){
fnc();
return EXIT_SUCCESS;
}
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Kontrola zda string obsahuje jiný string — založil beachboy
String to hex ebo Byte()"string" — založil Roman Uherek
String v C++ — založil Začátečník JK
Moderátoři diskuze