Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/104: Рейтинг темы: голосов - 104, средняя оценка - 4.84
0 / 0 / 0
Регистрация: 23.07.2012
Сообщений: 19

hello world 10 раз

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

Студворк — интернет-сервис помощи студентам
нужен вывести hello world 10 раз через for и while.как это сделать я не знаю.
printf 10 раз не подходит
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.07.2012, 17:09
Ответы с готовыми решениями:

Нужно вывести на экран “Hello world” N раз
Нужно вывести на экран “Hello world” N раз. Input Со стандартного устройства ввода вводится 1 натуральное число – N, не превосходящее ...

Напечатать слово world n раз
привет ребят) нужна очень помощь)) если не трудно напишите решение задач вот этих: 1) Напечатать слово world n раз. 2) Напечатать...

Вывод Hello World в цикле 10 раз
Задача: Модифицировать текст программы так, чтобы надпись выводилась на экран 10 раз. Указание: для выполнения задачи достаточно добавить...

65
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,766
Записей в блоге: 14
24.07.2012, 19:39
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от kravam Посмотреть сообщение
А ещё можно использовать ассемблерные вставки
- да, и мне это приходило в голову...
0
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
24.07.2012, 19:41
Цитата Сообщение от Catstail Посмотреть сообщение
и мне это приходило в голову...
не только вам
0
24.07.2012, 19:59

Не по теме:

Цитата Сообщение от Fatal Error Посмотреть сообщение
не только вам:)
Ага :)

0
24.07.2012, 20:00

Не по теме:

Цитата Сообщение от Kastaneda Посмотреть сообщение

Не по теме:


Ага :)

В точку.

0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
24.07.2012, 20:03
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
35
36
37
38
39
40
41
42
43
44
45
46
#include <iostream>
 
template<char, char...>
struct print;
 
template<>
struct print<'0'>
{
   static void apply()
   {
      std::cout << std::endl;
   }
};
 
template<char current, char... chars>
struct print
{
   static void apply()
   {
      std::cout << current;
      print<chars...>::apply();
   }
};
 
template<int begin, int end>
struct hello_printer
{
   static void apply()
   {
      print<'H', 'e', 'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!', '0'>::apply();
      hello_printer<begin + 1, end>::apply();
   }
};
 
template<int end>
struct hello_printer<end, end>
{
   static void apply()
   {
   }
};
 
int main()
{
   hello_printer<0, 10>::apply();
}
http://liveworkspace.org/code/... 478900d6c6
0
24.07.2012, 20:04

Не по теме:

Даешь ассемблер...

0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
24.07.2012, 20:11
C++
1
2
3
4
5
6
7
8
#include <cstdio>
 
struct hello_world { hello_world() { puts("Hello, world!"); } } _[10];
 
int main()
{
    
}
2
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
167 / 167 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
24.07.2012, 20:12
Вот ещё вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int i;
    for(i=0;i<10;i++)
    {
        goto hello;
ret : goto world;
        ret2 :;
    }
    if(i<10)
    {
hello : cout<<"Hello ";
    goto ret;
world : cout<<"world"<<endl;
    goto ret2;
    }
    system("pause");
}
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,766
Записей в блоге: 14
24.07.2012, 20:14
Мне кажется, более правильно было бы так:

C++
1
2
3
4
5
6
7
char msg[] = "Hello, world";
 
asm {
    lea dx, msg
    mov ah,9
    int 0x21 
}
В DOS-овском варианте работать будет...
0
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
167 / 167 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
24.07.2012, 20:18
Может ещё кинуть способ с использованием шифрования по Виженеру?)))
0
 Аватар для Intel~lect
137 / 126 / 14
Регистрация: 03.07.2012
Сообщений: 355
24.07.2012, 20:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
    const char str[] = "Khoor/#zruog$";
 
    for (int i=0; i<strlen(str); i++)
        cout << char(str[i] - 3);
 
    cout << endl;
    system("pause");
    return 0;
}
0
24.07.2012, 20:19

Не по теме:

Catstail, вам виднее :D

0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,766
Записей в блоге: 14
24.07.2012, 20:51
Если уж совсем точно, то в DOS-е вот ЭТО работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
   char msg[]="Hello!!!$";
 
   asm    push ss
   asm    pop  ds
   asm    lea dx,msg
   asm    mov ah,9
   asm    int 0x21
 
   return 0;
}
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
24.07.2012, 20:55
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
char msg[] = "Hello, world";
int main()
{ 
asm_ {
       mov ecx,10;
       lea edx,msg;
met1: push ecx;
         push edx;
         call printf;
        pop eax; // восстановить стек
        pop ecx;
        loop met1; 
 }
}
Dll будем делать??
1
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
24.07.2012, 21:28
Цитата Сообщение от ValeryS Посмотреть сообщение
pop eax; // восстановить стек
вы кладете в стек edx, а достаете eax... непорядок

Добавлено через 1 минуту
Catstail, я думаю надо все таки переписать под ВрайтКонсольА...
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38223 / 21155 / 4314
Регистрация: 12.02.2012
Сообщений: 34,766
Записей в блоге: 14
24.07.2012, 21:31
Надо бы...
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
24.07.2012, 21: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
25
26
27
28
29
30
#include <windows.h>
#include <stdio.h>
 
int main() {
   //НАйдём адрес нужной нам функции puts
   long int adres_puts= (long int)GetProcAddress (LoadLibrary ("msvcrt"), "puts");
 
 
   //Теперь цикл
   for (int i= 0; i< 10; i++) {
 
 
    //Здесь мы с помощью ассемблерной вставки кладём на вершину стека
    //Адрес "Hello, word" и прыгаем на адрес adres_puts, осуществляя 
    //тем самым вызов puts c нужным параметром
    asm ("push %0; \
          call %1; \
          ADD ESP, 4"
          :
          :"r"("Hello, word!"), "r" (adres_puts)
          :);
   
   }
   
   //ВЫравнивание стека я осуществил по-сермяжному с помощью "ADD ESP, 4"
   //Хотя правильно быо бы RETN ну да и так сойдёт
    getchar ();
    return 0;
 
}
компилить
Bash
1
g++ main.cpp -masm=intel
А можно было бы вообще стек не выравнивать, всё равно программа закончилась
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
24.07.2012, 22:13
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Fatal Error Посмотреть сообщение
вы кладете в стек edx, а достаете eax... непорядок
вот этим
Цитата Сообщение от ValeryS Посмотреть сообщение
push edx;
call printf;
я передаю аргумент функции printf
аналогично printf("Hello word)
можно написать
Assembler
1
2
push msg;
call printf;
а вот этим
Цитата Сообщение от ValeryS Посмотреть сообщение
pop eax; // восстановить стек
я выравниваю стек,поскольку printf Сишная а не паскалевская функция, стек должна править вызывающяя функция, в паскалевских вызываемая.
можно сделать в любой неиспользуемый регистр
а можно и так
Assembler
1
 ADD ESP, 4
что в принципе приведет к одному результату -указатель стека сдвинется
Понятно объяснил?

Добавлено через 3 минуты
Цитата Сообщение от kravam Посмотреть сообщение
А можно было бы вообще стек не выравнивать, всё равно программа закончилась
а в цикле потом i найдешь?? указатель то сдвинулся

Добавлено через 7 минут

Не по теме:

Цитата Сообщение от Fatal Error Посмотреть сообщение
Catstail, я думаю надо все таки переписать под ВрайтКонсольА...
Цитата Сообщение от Catstail Посмотреть сообщение
Надо бы...
Представляю
придет наш ТС к своему преподавателю да и выложит все наши наработки:)
Тот посмотрит и скажет: "Что ты здесь делаешь? Дуй в академию наук"

3
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
24.07.2012, 22:22
Цитата Сообщение от ValeryS Посмотреть сообщение
а в цикле потом i найдешь?? указатель то сдвинулся
проверено, находится корректно, хз к чему там i привязывается.
0
Фрилансер
Эксперт С++
 Аватар для Dekio
5845 / 1226 / 499
Регистрация: 23.11.2010
Сообщений: 3,373
Записей в блоге: 1
24.07.2012, 22:25
Совсем для наркоманов
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <boost/mpl/vector_c.hpp>
#include <boost/mpl/for_each.hpp>
#include <boost/lambda/lambda.hpp>
 
int main()
{
   for(int i = 10;; i ? boost::mpl::for_each <boost::mpl::vector_c <char, 'H','e','l','l','o',',', ' ','W','o','r','l','d'>> (std::cout<<boost::lambda::_1), std::cout<<std::endl, i-- : 0);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2012, 22:25

Вывод "Hello, world!" заданое количество раз, с новой строки
Доброго времени суток. Помогите написать програму на асме,сам впервые стыкаюсь с ним.. Сама задача : В командной строке ввести 2 числа,...

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

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

Переменной А присвоить ее значение, увеличенное в N раз, 2N раз, 3N раз
Переменной А присвоить ее значение, увеличенное в N раз, 2N раз, 3N раз

Найти вероятность того, что герб выпадет: 2 раза; не менее 2 раз; не более 2 раз; не менее одного и не более трех раз
Монету бросают 6 раз. Найти вероятность того, что герб выпадет: а) 2 раза; б) не менее 2 раз; в)не более 2 раз; г) не менее одного и не...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru