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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 35, средняя оценка - 4.77
ahahac
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 19
#1

hello world 10 раз - C++

23.07.2012, 17:09. Просмотров 4710. Ответов 65
Метки нет (Все метки)

нужен вывести hello world 10 раз через for и while.как это сделать я не знаю.
printf 10 раз не подходит
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2012, 17:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос hello world 10 раз (C++):

Рекурсия: вывод "Hello, World!" N раз - C++
Напишите, пожалуйста, код, который выводит "Hello, World!" N раз. Не могу понять, как пользоваться рекурсией. Например: Ввод: 2 ...

Поменять слова местами то есть Hello World > World Hello C++ - C++
Ребят всем привет помогите решить задачку: Имеется предварительно созданный текстовый файл, содержащий строку "Hello World". Поменять слова...

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

Вывести числа, которые встречаются в массиве несколько раз / один раз - C++
дан массив состоящий из 100 целых чисел. а)Вывести все числа,которие встречаются в етом массиве несколько раз б)Вывести все...

Hello, World! - C++
Добрый день. Купил книгу Б.Страуструпа - Принципы и практика использования С++, Напечатал первый код , при компиляции выскочили...

Hello World! - C++
Доброго времени товарищи. Не могу никак найти тему. Где-то на этом форуме есть целая тема в которой предствалена огромная куча вариантов...

65
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
23.07.2012, 23:25 #16
gcc: 12345678910 - ok ( http://liveworkspace.org/code/af1604...9a79a87e3ca11f )
msvs2012RC: 12345678910 - ok
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 00:19 #17
ну чтоб окончательно все варианты перебрать, то воть еще:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
    char str [] = "Hello World";
    LPDWORD count;
    for (int i = 0; i<10; ++i)
{
            WriteConsoleA(GetStdHandle(STD_OUTPUT_HANDLE), str, strlen(str), count, 0);
        cout<<endl;
        }
        system("pause");
    return 0;
}
0
Jupiter
Каратель
Эксперт С++
6556 / 3977 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.07.2012, 00:31 #18
Цитата Сообщение от Fatal Error Посмотреть сообщение
LPDWORD count;
Fatal Error, LPDWORD расшифровуется как long pointer to dword(но по сути это DWORD*) и WriteConsole ожидает адрес переменной типа DWORD, а ты ему подсовываешь LPDWORD который указывает на мусор

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <windows.h>
 
int main(void)
{
    const char str[] = "Hello World\r\n";
    DWORD count;
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
 
    for (int i = 0; i<10; ++i)
        WriteConsoleA(handle, str, strlen(str), &count, 0);
    
    return 0;
}
0
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 00:34 #19
Jupiter, я честно говоря хз как там апи работают и что им надо просто знаю что есть такая функция, глянул в справочнике что ей надо, все скопировал и выдал на форум не пинай))
0
ValeryS
Модератор
6653 / 5062 / 470
Регистрация: 14.02.2011
Сообщений: 16,926
24.07.2012, 00:36 #20
Цитата Сообщение от Fatal Error Посмотреть сообщение
все варианты перебрать,
это далеко не все
не рассмотрели еще while декремент
C++
1
2
int i=11
while(--i)
декремент в теле цикла
do while
и многое другое (исключение, бесконечный цикл с выходом по бреаку)

но круче всего рекурсия от
diagon,
интересно в жизни пригодится???
0
Nameless One
Эксперт С++
5774 / 3424 / 255
Регистрация: 08.02.2010
Сообщений: 7,447
24.07.2012, 02:51 #21
diagon, стандарт С++ не допускает рекурсивного вызова main
0
-=ЮрА=-
Заблокирован
Автор FAQ
24.07.2012, 11:34 #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
2
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.07.2012, 12:01 #23
Цитата Сообщение от Nameless One Посмотреть сообщение
diagon, стандарт С++ не допускает рекурсивного вызова main
Я знаю(<stdio.h> + puts, кстати, намекают), но довольно многие хорошие компиляторы на такой код закроют глаза.

Цитата Сообщение от ValeryS Посмотреть сообщение
интересно в жизни пригодится???
Нет.
0
alkagolik
Заблокирован
24.07.2012, 12:28 #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;
}
0
kravam
быдлокодер
1695 / 882 / 45
Регистрация: 04.06.2008
Сообщений: 5,470
24.07.2012, 12:31 #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;    
}
1
Catstail
Модератор
22639 / 11007 / 1784
Регистрация: 12.02.2012
Сообщений: 18,169
24.07.2012, 14:50 #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
1
Вложения
Тип файла: zip main.zip (40.1 Кб, 4 просмотров)
Troll_Face
600 / 400 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
24.07.2012, 15:58 #27
прям соревнование устроили у кого лучше Hello World 10 раз выведеться!!!
0
Endiff
31 / 31 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 16:43 #28
[brainfuck]
++++++++++>++++++++++[[>+++++++>++++++++++>+++>+<<<<-<<<<<-]>++
.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.
------.--------.>+.>.]
[/brainfuck]
Гулять - так гулять. Не уверен, что правильно
1
MrCold
855 / 753 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
24.07.2012, 16:48 #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 );
}
0
Endiff
31 / 31 / 1
Регистрация: 19.05.2012
Сообщений: 67
24.07.2012, 16:56 #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!";
}
Кто дальше?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.07.2012, 16:56
Привет! Вот еще темы с ответами:

Hello world - C++
почему в codeblocks программа #include &lt;iostream&gt; using namespace std; int main() { cout &lt;&lt; &quot;Hello world!&quot; &lt;&lt; endl; ...

Hello world C: - C++
Доброго времени суток! Собственно, начал изучать С++, пользуюсь VS2012 Почему этот код работает #include &quot;stdafx.h&quot; ...

Hello, World! - C++
Добрый день. Недавно начал изучать си++. Работаю в Microsoft Visual Studio 2008. Написал такую программу: // Test.cpp : Defines the...

HELLO WORLD - C++
Vsem Privet:) Ranshe ya izuchil yizik PASKAL;:umnik: A tiper C++ :umnik: Na PASKALE bil nekotoriy funksiy rabota so storokami; ...


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

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
24.07.2012, 16:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru