Bo jest bez sensu? Co wg ciebie ma się stać kiedy robisz y += x
podczas gdy y
jest TABLICĄ? Analogicznie co to znaczy y < 1000
kiedy y
jest tablicą 60 liczb? o_O
Zadeklarowales tablice y, po czym x dodajesz do zmiennej y
Zerknij tutaj - tablice jednowymiarowe
Krótki przykład:
#include <iostream>
using namespace std;
int main()
{
constexpr int SIZE = 10;
int numbers[SIZE];
cin >> numbers[0];
cin >> numbers[1];
numbers[2] = 5;
for (int i = 3; i < SIZE; ++i) {
numbers[i] = i * 3;
}
cout << numbers[0] << ' ' << numbers[1] << ' ';
for (int i = 2; i < SIZE; ++i) {
cout << numbers[i] << ' ';
}
cout << "\n\ninna petla:\n";
int i = 0;
do {
cout << numbers[i] << ' ';
++i;
// cout << numbers[++i]; <-- tak też można
} while (i < SIZE);
}
#include <iostream>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
int x;
cin >> x;
int liczba, suma = 0; // zmienna liczba nie ma nadanej wartości początkowej
int liczby[60];
do
{
liczba += x; // a tutaj jej używasz
cin >> liczby[i]; // zmienna i nie jest zadeklarowana
suma = suma + liczby[i]; // zapis wartości w kółko z jednego elementu
} while (liczba<1000); // warunek nie pilnuje wyjścia poza zakres tablicy
// jeśli x = 2, to pętla wykona 500 obrotów, a tablica ma tylko 60 elem (440 razy bedziesz czytać po cudzych danych)
// pod warunkiem, że liczba = 0 na starcie i indeks tablicy będzie inkrementowany
#include <iostream>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
int x;
cin >> x;
int liczby[1000];
liczby[0] = x;
liczby[1] = 2 * x;
for(int i = 2; i < 1000; i++) //zacznij od 2 wyrazu i wpisuj liczby
{
// liczby += x; //tu miala byc funkcja taka ze liczba = kazda poprzednia liczba + x
//cin >> liczby[i]; //tutaj ta liczbe mialem wpisac, do pojemnika liczby po kolei [i]
liczby[i]=liczby[i-1]+ x;//tutaj obliczenie sumy czyli suma poprzedneigo + x itd...nie wiem pogubilem sie nie
//rozumiem
}
cout<<liczby;
return 0;
}
Popatrz na to i przeanalizuj:
#include <iostream>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
int x;
cin >> x;
int liczby[1000];
liczby[0] = x;
for (int i = 1; i < 1000; i++) //zacznij od 2 wyrazu i wpisuj liczby
{
// liczby += x; //tu miala byc funkcja taka ze liczba = kazda poprzednia liczba + x
//cin >> liczby[i]; //tutaj ta liczbe mialem wpisac, do pojemnika liczby po kolei [i]
liczby[i] = liczby[i - 1] + x;//tutaj obliczenie sumy czyli suma poprzedneigo + x itd...nie wiem pogubilem sie nie
//rozumiem
}
for (int i = 0; i < 1000; ++i) {
cout << liczby[i] << '\n';
}
return 0;
}
Bartek ale z ciebie janusz.
liczby += x;
jest równe adresowi tablicy twoich liczb + x czyli, tablica jest przestawiona o x*(int) miejsc.
Ale tobie chodziło o dodanie
czyli
liczby[i] = liczby[i-1]+x; // liczba 'i', ta teraz wykonywana jest równa = liczbie 'i' o jeden mniejszą czyli wcześniejszą + x
Chcesz dodać do 0 podaną liczbę, Aż suma nie przekroczy 1000?
Wystarczy
#include <iostream.h>
#include <windows.h>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
int x, y = 0;
cin >> x;
do {
y += x;
} while (y < 1000);
cout << y;
cout << "\n";
system("PAUSE");
return 0;
}
Opis był kiepski, ale chyba zrozumiałem o co chodzi.
#include <iostream>
using namespace std;
int main()
{
cout << "Podaj liczbe: ";
int x;
cin >> x;
int liczby[1000];
int liczba{ 0 };
liczby[0] = liczba = x;
int suma{ liczba };
for (int i = 1; i < 1000; ++i) //zacznij od 2 wyrazu i wpisuj liczby
{
liczba += x; // powiększanie liczby o x w każdej pętli
liczby[i] = liczba; // przypisanie tej nowej wartości liczba do tablicy
suma += liczby[i]; // sumowanie elementów tablicy
}
for (int i = 0; i < 1000; ++i) {
cout << liczby[i] << '\n';
}
cout << "suma wszystkich elementów wynosi " << suma << '\n';
}
chwila dlaczego po dodaniu nowej petli wyrazy sie napisaly a wczesniej nie ...mozna tak nowa petle do starej dodawac
Przecież programowanie polega na składanie takich małych elementów w dużą całość.
@bartek164
Obejrzyj sobie
ten filmik, ziomek dobrze tłumaczy zagadnienie, którego ty nie rozumiesz, a jest chyba najważniejszym w programowaniu.
Ale kombinujecie. Wystarczy to, co podałem. Nie kumam po co tablice. Faktycznie opis był kiepski.