michal123 Temat założony przez niniejszego użytkownika |
Tablice 100 elementów dla ciągu » 2013-11-07 19:52:22 Witam, zadanie : Napisz program, który generuje w jednej pętli tablicę 100 elmentów typu int dla jednego z poniższych ciągów . Ciąg ma być wpisany do tablicy, a następnie zawartość tablicy ma być wyświetlana na standardowym wyjściu.
Ciąg : 1 2 -1 -2 3 4 -3 -4 ...
Napisałem taki program dla ciągu 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 a teraz potrzebuje napisać dla tego wymienionego w treści, co potrzebuję zamiemnić w moim aby taki otrzymać? proszę o pomoc, nie mam kompletnie pomysłu. #include <iostream> using namespace std; int main() { int * T; int i, n = 100; int x = 0; int y = 1; T = new int[ n ]; for( i = 0; i < n; i++ ) { x++; if( x == y ) { T[ i ] = y; y++; x = 0; } else { T[ i ] = y; } } for( i = 0; i < n; i++ ) cout << endl << "T[" << i << "] = " << T[ i ]; return 0; }
PRÓBOWAŁEM TEŻ TAK ALE NIE WYCHODZIŁO : if( i % 2 == 1 ) { tablica[( i * 2 ) - 1 ] = i; tablica[ i * 2 ] = i + 1
Proszę serdecznie o szybką pomoc gdyż potrzebuje wykonać to zadanie do 21 |
|
Simplus |
» 2013-11-07 20:08:52 A moze sprobuj uzyc petli: for(int i=0;i<n;i+=4)...
|
|
michal123 Temat założony przez niniejszego użytkownika |
» 2013-11-07 20:19:44 Zaraz zaraz, wpadłem na to ze mogę to zrobić w tablicy statycznej. Może mi ktoś pomóc zapętlić warunek ze środka, ten przypisujący wartości elementom funkcji? Jak to zrobię to program skończony :) Dla tych co nie zauważyli zależności w ciągu 1 2 -1 -2 3 4 -3 -4 Wymieniamy kolejne liczby całkowite zaczynając od 1 . Wymieniamy je dwie , następnie te same dwie lecz ujemne, po kolei.
#include <iostream> using namespace std;
const int N = 100;
int main() { int a[ N ], i; for( i = 0; i < N; i++ ) a[ i ] = i; { a[ 0 ] = 1; a[ 1 ] = 2; a[ 2 ] =- a[ 0 ]; a[ 3 ] =- a[ 1 ]; } for( i = 0; i < N; i++ ) cout << "a[" << i << "] = " << a[ i ] << endl; return 0; }
|
|
pekfos |
» 2013-11-07 20:24:18 Ten ciąg można zapisać tak: 1, 1+1, -1, -1-1, 3, 3+1, -3, -3-1, 5, 5+1, -5, -5-1, ..., n, n+1, -n, -n-1
Wartość i%4 określa, który przypadek aktualnie musisz wykorzystać. Do tego będzie potrzebna zmienna do zapamiętywania aktualnej największej wartości. |
|
michal123 Temat założony przez niniejszego użytkownika |
» 2013-11-07 20:29:32 A czy nie da się w prosty sposób zapętlić tego przepisu dla kolejnych wartości tablicy ? a[ 0 ] = n; a[ 1 ] = n + 1; a[ 2 ] =- n; a[ 3 ] =- n - 1;
|
|
pekfos |
» 2013-11-07 20:31:14 Da się. Szczegóły wyżej podałem. |
|
michal123 Temat założony przez niniejszego użytkownika |
» 2013-11-07 20:38:26 A nie i=i+4?
Chyba potrzebuję większej wskazówki bo zostało mi mało czasu a mój mózg jakby nie chciał |
|
pekfos |
» 2013-11-07 20:41:54 switch( i % 4 ) { case 0: case 1: T[ i ] = j++; break; default: T[ i ] = - T[ i - 2 ]; } |
|
« 1 » 2 3 4 |