T-shirt apdruka,un mazo uzlīmju taisīšana. 4
Profesionālie tulkošanas pakalpojumi. 5
Pardod: MSI GeForce RTX 2080ti gaming X TRIO Graphic Card 1
Vēlos piedāvāt darbu online. 0
OCTA termiņš 13
Ka sauc Pasaules dalu kura dzivojam 4
google 1
Taustiņu funkcijas izmainīšana 2
Torrent 1
ESET izlaiž 2017.gada produktu izdevumus 23
VIAPLAY: Video tiešsaistē skatās 70% Latvijas iedzīvotāju 21
Katrā desmitajā datorā joprojām izmanto Windows XP 2
Google tuvākajā laikā atteiksies no Chrome paplašinājuma palaidēja 2
Acer ievieš nozares pirmo ieliekto monitoru ar acu izsekošanas funkcionalitāti 4
Adobe laiž klajā ārkārtas atjauninājumu 3
Tests: Cik precīzs ir "lēta gala" velo spidometrs? 3
Leģendārie telefoni – Nokia 3310 un citi 3
Puisis iziet Super Mario spēli mazāk kā piecu minūšu laikā un labo pasaules rekordu 2
Līdz 29.jūlijam atjaunini savu Windows bez maksas! 3
Kā uzlabot televizora skaņu? 2
Programma, ar kuras palīdzību fotogrāfijas pārveidot .gif formātā 1
Aproce, kas sastāv no 25 instrumentiem 1
Trīs padomi televizora izvēlei 2
Windows 7 ēra tuvojas noslēgumam, Microsoft koncentrējas uz Windows 10 1
Lietotāji online: 71
Reģistrētie lietotāji online: 0
Viesi online: 71
Tātad jāuzraksta programma, kas izvada visus 6-ciparu palindromus.
Ir ideja, ka jāpielieto gadījuma skaitļu ģenerācija.
Piemēram, šī izģenerē 10 skaitļus intervālā 0-99.
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t t;
srand((unsigned) time(&t));
for(long i=0; i<10; i++)
cout << rand() % 100<< endl;
system("pause");
return 0;
}
Un pielietojot šo var izģenerēt arī 6-ciparu skaitļus:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
time_t t;
srand((unsigned) time(&t));
for(long i=1000000; i<999999; i++)
cout << rand() % 1000000<< endl;
system("pause");
return 0;
}
Bet, kur un kā jāieliek komanda, lai izvada nevis visus 6-ciparu skaitļus, bet gan tieši palindromus?
vai arī vari pārskaitīt visus skaitļus no 100 līdz 999 ieskaitot un tiem beigās pielikt to pašu skaitli no otra gala, arī iegūsi visus 6-ciparu palindromus...
Tas ir vienkārši :) Parādiet man programmēšanas valodu, kurā šo var uzrakstīt vienkāršāk? Valoda, kurai ir bibliotēka ar iebūvētām palindromu funkcijām, neskaitās.
m
PS. Nekad nelietot system izsaukumus tādām muļķībām. priekš tam ir:
cout <<"Press any key to continue..." << endl;
getch();
Vienkāršāk/īsāk par šo vairs nesanāks. Nepieciešamās bibliotēkas pieliksi pats.
for (int i1=1;i1<10;i1++) {
for (int i2=0;i2<10;i2++) {
for (int i3=0;i3<10;i3++) {
cout<<i1<<i2<<i3<<i3<<i2<<i1<<endl;
}
}
}
cout <<"Press any key to continue..." << endl;
_getch();
ja gribās pamežģīt smadzenes ar rekursiju:
void doPalindrome(int data){
cout<<data/100<<data/10<<data%10<<data%10<<data/10<<data/100;
if (++data<1000)
doPalindrome(data);
}
int main(){
doPalindrome(100);
}
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
for (int i1=1;i1<10;i1++) {
for (int i2=0;i2<10;i2++) {
for (int i3=0;i3<10;i3++) {
cout<<i1<<i2<<i3<<i3<<i2<<i1<<endl;
}
}
}
cout <<"Press any key to continue..." << endl;
_getch();
system("pause");
return 0;
}
Problēma tāda, ka izvada tikai palindromus no 702207, bet kā lai izvada tos, kas ir pirms tam, 701107 utt.?
Tā nav problēma, bet konsoles ierobežojums. aizstāj cout ar:
cout<<i1<<i2<<i3<<i3<<i2<<i1<<";";
un būs drusku vairāk ;)
m
PS. Un novāc to system pause. Ja es tev pasniegtu C++, par tādu joku būtu 2 un sēdies ;)
Liels paldies, tagad viss iet ;)
Skatos šeit ir cilvēki, kas var izpalīdzēt, jo nu es tik nepasen sāku kaut ko rubīt no C++ :D
Ir vēlviens uzd:
Jāuzraksta spēli. Programma izdomā skaitli intervālā 0 – 100. Lietotājam to skaitli ir jāuzmin ievadot minēšanas variantus uz klaviatūras. Pēc katra mēģinājuma programma izvada vienu no trim ziņojumiem:
“skaitlis ir lielāks par ievadīto”
“skaitlis ir mazāks par ievadīto”
“skaitlis uzminēts no N mēģinājuma”
Maksimāls mēģinājumu skaits – 10. Ja skaitlis nebija uzminēts no 10 mēģinājumiem programmai jāizvada ziņojumu:
“Jūs zaudējat! Pareizā atbilde N”
Pagaidām neesmu tālu ticis, bet ganjau, ka daudzkas nav pareizi un jāpieraksta programma, kas ļauj veikt 10 mēģinājumus:
#include <iostream>
using namespace std;
int main()
{
double n;
cout << "Input n: ";
cin >> n;
int x;
for(int i=0; i<100; i++)
{
if (n > x)
{
if (n > x)
{
cout << "Skaitlis ir lielaks par ievadito" << endl;
}
else // n < x
{
cout << "Skaitlis ir mazaks par ievadito" << endl;
}
}
else
{
if (n = x)
{
cout << "Skaitlis uzminets no " << "N: " << "meginajuma" << endl;
}
else // n != x
{
cout << "Jus zaudejat! Pareiza atbilde " << "N: " << endl;
}
}
}
system("pause");
return 0;
}
Skaidrs, ka ar programmēšanu Tu dzīvē iztiku nepelnīsi. ;) Bet nekas, gan jau citā jomā Tev veicas labāk..
void playTheGame()
{
srand( (unsigned)time( NULL ) );
int myNumber = (rand()%101);
for (int tries=1;tries<11;tries++) {
int enteredNumber;
cout << "Ievadiet skaitli: ";
cin >> enteredNumber;
if (enteredNumber == myNumber) {
cout << "Skaitlis uzminets no " << tries << ". meginajuma" << endl;
return;
} else {
cout << "Skaitlis ir " << ( myNumber > enteredNumber ? "lielaks" : "mazaks") << " par ievadito" << endl;
}
}
cout << "Jus zaudejat! Pareiza atbilde: " << myNumber << endl;
}
EDIT: tabs vs. spaces
Un kāpēc man tagad c++ piesienas pie system pause? :D
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
void playTheGame()
{
srand( (unsigned)time( NULL ) );
int myNumber = (rand()%101);
for (int tries=1;tries<11;tries++) {
int enteredNumber;
cout << "Ievadiet skaitli: ";
cin >> enteredNumber;
if (enteredNumber == myNumber) {
cout << "Skaitlis uzminets no " << tries << ". meginajuma" << endl;
return;
} else
{
cout << "Skaitlis ir " << ( myNumber > enteredNumber ? "lielaks" : "mazaks") << " par ievadito" << endl;
}
}
cout << "Jus zaudejat! Pareiza atbilde: " << myNumber << endl;
}
system("pause");
return 0;
}
pe4s rakstīja:
Un kāpēc man tagad c++ piesienas pie system pause? :D
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <iostream>
using namespace std;
void playTheGame()
{
srand( (unsigned)time( NULL ) );
int myNumber = (rand()%101);
for (int tries=1;tries<11;tries++) {
int enteredNumber;
cout << "Ievadiet skaitli: ";
cin >> enteredNumber;
if (enteredNumber == myNumber) {
cout << "Skaitlis uzminets no " << tries << ". meginajuma" << endl;
return;
} else
{
cout << "Skaitlis ir " << ( myNumber > enteredNumber ? "lielaks" : "mazaks") << " par ievadito" << endl;
}
}
cout << "Jus zaudejat! Pareiza atbilde: " << myNumber << endl;
}
system("pause");
return 0;
}
Iemācies lasīt kompilatora ziņojumus, acīmredzami Tev pirms system("pause") ir lieka aizverošā figūriekava, kas beidz funkciju... :)
Tagad ar return kaut kas ne tā.
Un pietam vēl jāizdomā viss no otras puses. Man jāizdomā skaitlis un programmai ir jāuzmin skaitli no 10 mēģinājumiem.
funkcija ar tipu viod nevar atgriezt vērtību, Tu varētu vēlēties to pārsaukt par int main()...
Paldies, pārlaboju dažas lietas un tagad viss ok :)
Var kāds palīdzēt ar to programmu, kuru paskaidroju #14 ?
Palīdzība ar #14:
http://en.wikipedia.org/wiki/Binary_search_algorithm
nu jā, tas neko daudz nedod :/ bet paldies par to pašu, varbūt ir vēl kādi varianti?
nekādi gadījuma skaitļi, sviests!!!
sāc ar to, ka uzraksti funkciju, kas noskaidro vai 6-ciparu skaitlis ir palindroms
bool isPalindrome(int x){
char c[6];
sprintf(c,"%d",x);
if (c[0]==c[5] && c[1] ==c[4] && c[2] == c[3]){
return true;
}
return false
}
un iekš main vnk pārskaiti visus skaitļus un pārbaudi, tipa
for (int i=100000;i<1000000;i++){
if (isPalindrome(i){
cout<<i<<endl;
}
}
atvainojos, ja sintakse mazliet neprecīza, kā ari jāiekļauj dažas bibliotekas lai sprintf un cout strādātu, bet tas arī viss, principā 8 klases uzdevums... :)