Форум программистов, компьютерный форум CyberForum.ru

hello world 10 раз - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.77
ahahac
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 19
23.07.2012, 17:09     hello world 10 раз #1
нужен вывести hello world 10 раз через for и while.как это сделать я не знаю.
printf 10 раз не подходит
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2012, 17:09     hello world 10 раз
Посмотрите здесь:

C++ Вывести числа, которые встречаются в массиве несколько раз / один раз
Hello, World! C++
C++ Hello, World!
C++ Hello World!
Hello world C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nameless One
Эксперт С++
 Аватар для Nameless One
5755 / 3404 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
24.07.2012, 02:51     hello world 10 раз #21
diagon, стандарт С++ не допускает рекурсивного вызова main
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
24.07.2012, 11:34     hello world 10 раз #22
Остаётся ко всему здесь написанному добавить рекурсивный вариант печати
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
 
void rekursPrint(const char * msg, int count);
 
int main()
{
    rekursPrint("Hello world", 10);
    return 0;
}
 
void rekursPrint(const char * msg, int count)
{
    if(0 < (count = count - 1))
        rekursPrint(msg, count);
    cout<<msg<<endl;
}
http://codepad.org/CSN54ySp

А также дать рекурсивный вызов main в Си (как уже ранее отметил
Nameless One, в плюсах такое делать запрещено стандартом)
C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
int count = 10;
int main()
{
    printf("Hello world\n");
    if(0 < (count = count - 1))
        main();
    return 0;
}
http://codepad.org/40Wnq7om
http://liveworkspace.org/code/1db6c4...598129a5b6b616
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.07.2012, 12:01     hello world 10 раз #23
Цитата Сообщение от Nameless One Посмотреть сообщение
diagon, стандарт С++ не допускает рекурсивного вызова main
Я знаю(<stdio.h> + puts, кстати, намекают), но довольно многие хорошие компиляторы на такой код закроют глаза.

Цитата Сообщение от ValeryS Посмотреть сообщение
интересно в жизни пригодится???
Нет.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
24.07.2012, 12:28     hello world 10 раз #24
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <string.h>
 
unsigned char auto_char( unsigned num ) {
 
    switch( num == 0x2 || num == 0x3 || num == 0x9) {
        case ( 1 ) : return 0x6c;
        case ( 0 ) :
            switch ( num == 0x4 || num == 0x7 ) {
            case ( 1 ) : return 0x6f;
            case ( 0 ) :
                switch ( num % 0x2 ) {
                    case ( 1 ) : return ( num > 0x1  ) ? ( num < 0xa ) ? 0x20 : 0xa : 0x65;
                    case ( 0 ) : return ( num > 0x6 ) ? ( num > 0x8 ) ? 0x64 : 0x72 : ( num < 0x6 ) ? 0x68 : 0x77;
                }
        }
    }
}
 
int main( int argc, char** argv, ... ) {
 
    unsigned x = 0xc;
    unsigned i = 0x0, j;
    while ( i < x ) {
        j = 0x0;
 
        while ( j < x ) {
            fprintf( stdout, "%c", auto_char( j ) );
            ++j;
        }
        ++i;
    }
    return 0;
}
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
24.07.2012, 12:31     hello world 10 раз #25
Не славы ради но фишки для
C++
1
2
3
4
5
6
7
8
#include <stdio.h>
int main() {
 int i= 5;   
 while (i++< printf ("Hello, world!\n"));
 //for (int j= 5; j++< printf ("Hello, world!\n"););
 getchar (); 
 return 0;    
}
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
24.07.2012, 14:50     hello world 10 раз #26
Хотя main нельзя вызывать рекурсивно, но никто не запрещает ее рекурсивно запускать. Вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "iostream.h"
#include "stdlib.h"
#include "string.h"
#include "windows.h"
 
int main(int argc, char* argv[])
{
    int i,n=atoi(argv[1]);
        char CMD[]="main.exe ";
        char X[200];
    char N[20];
 
    if (n==0)
    {
        cin >> i;
        return 0;
    }
    else
    {
        cout << "Hello!" << endl;
        strcpy(X,CMD);
        _itoa((--n),N,10);
        strcat(X,N);
        WinExec(X,1);
    }
    return 0;
}
Запускать нужно так: main.exe 10
Вложения
Тип файла: zip main.zip (40.1 Кб, 4 просмотров)
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 15:58     hello world 10 раз #27
прям соревнование устроили у кого лучше Hello World 10 раз выведеться!!!
Endiff
 Аватар для Endiff
30 / 30 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 16:43     hello world 10 раз #28
[brainfuck]
++++++++++>++++++++++[[>+++++++>++++++++++>+++>+<<<<-<<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.]
[/brainfuck]
Гулять - так гулять. Не уверен, что правильно
MrCold
851 / 749 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.07.2012, 16:48     hello world 10 раз #29
Цитата Сообщение от ahahac Посмотреть сообщение
вывести hello world 10 раз через for и while.как это сделать я не знаю.
Через класс
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
 
class fclass
{
    private:
        static int i; 
 
    public:
        static int fun()
        {     
          std::cout << "Hello World!!!\n";
          return i--;
        }
};
 
int fclass::i = 9;
 
 
int main() 
{   
 while ( fclass::fun() );
        
    return ( 0 );
}
Endiff
 Аватар для Endiff
30 / 30 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 16:56     hello world 10 раз #30
Полноценное приложение:
main.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include "fun.h"
 
using std::cout;
using std::cin;
using std::endl;
 
int main() {
   Fun a;
   a.PrintByWhile();
   a.PrintByFor();
}
fun.h:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#ifndef FUN_H
#define FUN_H
 
class Fun {
   public:
      Fun();
      ~Fun();
      void PrintByWhile();
      void PrintByFor();  
};
 
#endif
fun.cpp:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include "fun.h"
 
using std::cout;
using std::cin;
using std::endl;
 
Fun::Fun() {
 
}
 
Fun::~Fun() {
 
}
 
void Fun::PrintByWhile() {
   int i = 0;
   while(i++ < 10)
      cout << "Hello, world!";
}
 
void Fun::PrintByFor() {
   for(int i = 0; i < 10; i++)
      cout << "Hello, world!";
}
Кто дальше?
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 17:05     hello world 10 раз #31
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
    const char str[] = "Hello world";
 
    for (int i=1; i<strlen(str); i++)
        cout << str << endl;
 
    system("pause");
    return 0;
}
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
24.07.2012, 17:19     hello world 10 раз #32
Вроде такого варианта еще не было
C++
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
int main()
{
for (int i=1;i<11;cout<<i++<<"\thello world\n");
return 0;
}
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 17:37     hello world 10 раз #33
Цитата Сообщение от Aesonet Посмотреть сообщение
Вроде такого варианта еще не было
для while:
C++
1
2
int i = 0;
while (i++<10 && cout<<"Hello world\n");
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 17:43     hello world 10 раз #34
Еще вот так можно:
C++
1
for (int i=1; i<=10; i++, cout << "Hello world" << endl);
Endiff
 Аватар для Endiff
30 / 30 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 17:50     hello world 10 раз #35
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int i = 0;
while(i < 10) {
   for(int j = 0; j < 3; j++) {
      switch(j) {
      case 0:
         cout << "Hello";
         break;
      case 1:
         cout << ", ";
         break;
      case 2:
         cout << "world!";
         break;
      }
      i++;
   } 
}
Aesonet
24.07.2012, 18:11
  #36

Не по теме:

Endiff интересный вариант

Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4237 / 2770 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
24.07.2012, 18:35     hello world 10 раз #37
Люблю подобные темы, но что-то не смог ни чего более интересного придумать:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
class canOut
{
public:
    canOut(const char *str)
    {
        --count;
        std::cout << str << std::endl;
    }
 
    operator void* ()
    {
        return reinterpret_cast<void*>("wondering, can i still print?", 012 + count);
    }
 
private:
    static size_t count;
};
 
size_t canOut::count = 0;
 
int main()
{
    while (canOut("Hello, World"));
}

Не по теме:

жара, мозги сохнут...

ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
24.07.2012, 19:19     hello world 10 раз #38
Блин, а я ещё свою лепту не внёс))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
 
using namespace std;
 
void hello()
{
    cout<<"Hello ";
}
 
void world()
{
    cout<<"world"<<endl;
}
 
int main()
{
    int i;
    for(i=0;i<10;i++)
    {
        hello();
        world();
    }
    system("pause");
}
Catstail
Модератор
 Аватар для Catstail
21501 / 10254 / 1670
Регистрация: 12.02.2012
Сообщений: 17,139
24.07.2012, 19:34     hello world 10 раз #39
А вот так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <windows.h>
 
int main(int argc, char* argv[])
{
    FILE * fo;
    int i;
    fo=fopen("hello.cmd","w");
    fprintf(fo,"echo off\n");
    for (i=1; i<=10; i++) fprintf(fo,"echo Hello!\n");
    fclose(fo);
    WinExec("hello.cmd",1);
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2012, 19:37     hello world 10 раз
Еще ссылки по теме:

Hello world C: C++
Hello world C++
Рекурсивная програма которая по очереди будет выводить 1(16 раз), 2(8 раз), 3 (4 раза) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
24.07.2012, 19:37     hello world 10 раз #40
А ещё можно использовать ассемблерные вставки
Yandex
Объявления
24.07.2012, 19:37     hello world 10 раз
Ответ Создать тему
Опции темы

Текущее время: 22:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru