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

hello world 10 раз

23.07.2012, 17:09. Показов 21765. Ответов 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
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 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
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 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
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 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,875
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
38209 / 21142 / 4312
Регистрация: 12.02.2012
Сообщений: 34,755
Записей в блоге: 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,875
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
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru