Помогите написать прогу в с++

Завдання. Написати програму, яка запитує в користувача ціле число N, після чого виводить інформацію в два стовпчики. В лівому стовпчику – ціле число від одного до N, в правому – сума всіх чисел від 1 до . Наприклад, якщо було введене число 5, то програма видасть на екран
Vvredit chislo N:5
1 1
2 3
3 6
4 10
5 15
ЗАУВАЖЕННЯ!!! Програма має вивести на екран 4 (ЧОТИРИ) подібних таблиці, сформовані:
1) тільки операторами if та goto БЕЗ операторів циклів
2) циклом з перед-умовою while
3) циклом з пост-умовою do while
4) циклом з лічильником for

Написать программу на языке С++ Азбука морзе

Александр, кто ж тебе мешает «написать программу на языке С++ Азбука морзе»? Если нужен совет — спрашивай. Если сможем, поможем. А написание программ на заказ — это ты сайтом ошибся.

Кстати, Морзе пишется с большой буквы — это имя собственное.

include <stdio.h>

include <conio.h>

int main (){

int N;
int i=0;
int sum=0;
printf («Vvedit 4ucJlo N \n»);
scanf(«%d»,&N );
loop:
if ((i<N)||(sum<=N)){

i++;
sum =sum + i ;
printf(«\n %d \t %d \n»,i,sum);

goto loop;
}
}

Вова, во-первых, когда постишь исходный код, оформляй его правильно. Как это сделать — написано прямо над полем ввода сообщения.

Во-вторых, твоя программа работает. Однако реализация оставляет желать лучшего.

(1) В операторе if ((i<N)||(sum<=N)) условие (sum <= N) лишнее. Оно всегда (для положительных i) будет становиться ложным быстрее, чем условие (i < N). Поскольку эти два условия связаны оператором ИЛИ, то второе условие можно убрать.

(2) Применение оператора goto в программах на С/С++ категорически не приветствуется. В данном случае совершенно прозрачно напрашивается цикл while:

#include <stdio.h>
#include <conio.h>

int main(){

    int N;
    int i = 0;
    int sum = 0;
    printf("Vvedite 4ucJlo N \n");
    scanf("%d", &N);
    while (i < N) {
        i++;
        sum += i;
        printf("\n %d \t %d \n", i, sum);
    }
}

Или можно использовать цикл for:

int main(){

    int N;
    int sum = 0;
    printf("Vvedit 4ucJlo N \n");
    scanf("%d", &N);
    for (int i = 1; i <= N; i++) {
        sum += i;
        printf("\n %d \t %d \n", i, sum);
    }
}

Можно и так...

#include <iostream>
using namespace std;

int main()
{
    int N, i=0; 
    int sum=0;
    std::cout << "Введите число: ";
    std::cin >> N;
    while(i++ < N)
    {
        sum += i;
        std::cout << i << " " << sum << endl;
    }
    return 0;
}

Если N большое (например 100000), тогда long int вместо int

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.