diego997 Temat założony przez niniejszego użytkownika |
Przypisanie liczb ze stringa do stringa » 2011-04-22 12:56:19 Moglibyście napisać program który,
string b[9] = {"1","2","3","4","5","6","7","8","9"};
string a[999];
Przypisał by do stringu a liczby od 1 do 999 korzystając tylko z tych podanych w stringu b czyli np;
a[0] = 1 - gdzie 1 to b[0] a[1] = 2 - b[1] a[2] = 3 - b[2] .........
a[8] = 9 a[9] = 11 - gdzie 11 to b[0]+b[0] a[10] = 12 - b[0]+b[1]
Ja to zrobiłem ale kod zajmuje mi dwie strony Czy dało by się to zrobić nieco krócej ??
Z góry dzięki |
|
McAffey |
» 2011-04-22 12:58:11 To pokaż swój kod, wtedy będzie można powiedzieć co można w nim uprościć. |
|
Mrowqa |
» 2011-04-22 12:58:41 Niezbyt rozumiem ... spróbuj użyć pętli ;) |
|
McAffey |
» 2011-04-22 13:00:36 Jeśli problematyka twojego kodu sprowadza się tylko do tego co pokazałeś w pierwszym poście to lekcja Pętla for jest dla Ciebie ;) |
|
Mrowqa |
» 2011-04-22 13:03:54 O to mi chodziło :D Pętle są proste :D Zrozumiesz ( w pętlach zamieszcza się zresztą silniki bardziej skomplikowanych programów ) - więc czy chcesz czy nie później i tak będziesz je musiał umieć :D Polecam przeczytać rozdział nr.2 w "Symfonii C++" - "Instrukcje sterujące" ;) |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-04-22 13:10:50 Nie no bez przesady umie takie rzeczy :D Chodzi mi tylko o to czy dało by się to jakoś skrócić dobra wklejam kod ale nie patrzcie na to że jest w nim zbyt dużo niepotrzebnych zmiennych ja je pod koniec usunę przerobię coś, kod jest prosty i dość prymitywnie napisany że tak powiem, ale nie o to mi tutaj chodzi :D #include <iostream> #include <conio.h> #include <windows.h> #include <stdio.h> #include <fstream> #include <string> using namespace std;
int main()
{ string b[ 9 ] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" }; string x[ 999 ]; string d[ 999 ]; string glowny[ 999 ]; int k = 0; int g = 0; int f = 0; int s = 0; for( int i = 0;; ) { if( i > 8 && i < 90 ) { for( int j = 0; j < 9; j++ ) { if( i == 90 ) { } else { x[ i ] = b[ g ] + b[ j ]; i++; } } ++g; } if( i >= 0 && i < 9 ) { x[ i ] = b[ i ]; i++; } if( i >= 90 && i < 819 ) { for( int l = 9; l < 90; l++ ) { d[ i ] = b[ s ] + x[ l ]; ++i; } ++s; } if( i == 819 ) { for( int y = 0; y < 819; y++ ) { if( y < 90 ) { glowny[ y ] = x[ y ]; } if( y > 89 ) { glowny[ y ] = d[ y ]; } if( y == 818 ) { ++i; } } } if( i == 820 ) { break; } } getch(); }
|
|
Mrowqa |
» 2011-04-22 13:21:34 Jakbyś usunął te zbędne Entery to już kod stałby się krótszy ;) Wg mnie także przejrzystszy :D Ale twój kod - dbaj o estetykę tak by był przejrzystszy dla Ciebie ;) - mówiąc przejrzystszy - nie mam na myśli bardziej pusty :D ( tak przejrzysty jak szyba - prawie puste ). |
|
diego997 Temat założony przez niniejszego użytkownika |
» 2011-04-22 13:25:55 Wiem wiem nie myslcie sobie że moje kody tak wyglądają zmienne a,b,c,d ;p zawsze jak czegoś nie jestem pewny to piszę w osobnym projekcie i dopiero wklejam do głównego. Wiem estetyka jest bardzo ważna na drugi dzień jak się wstaje to trzeba poświęcić dużo czasu na przypomnienie sobie kodu :p Tzn teraz już z tym problemu nie mam :) |
|
« 1 » 2 3 |