Премини към съдържанието

Препоръчан отговор


Напишете програма, която чете от конзолата положително цяло число n и отпечатва ромб като на фигурата по-долу:

n=1                                 n2

/\                                           /\

\/                                         //\\

                                            \\//

                                             \/

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Нещо такова ама на Си

#include <stdio.h>

void print(char c, int n)
{
     int i;
     for (i=0;i<n;++i) putchar(c);
}

int main()
{
    int i,n;
    printf("N = ");
    scanf("%d",&n);
    for (i=0;i<n;++i)
    {
         print(' ',n-i);
         print('/',i+1);
         print('\\',i+1);
         printf("\n");
    }
    for  (i=n-1;i>=0;--i)
    {
         print(' ',n-i);
         print('\\',i+1);
         print('/',i+1);
         printf("\n");
    }
}

 

N = 5
     /\
    //\\
   ///\\\
  ////\\\\
 /////\\\\\
 \\\\\/////
  \\\\////
   \\\///
    \\//
     \/
     

 

Редактирано от ined (преглед на промените)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

преди 2 часа, ined написа:

Нещо такова ама на Си


#include <stdio.h>

void print(char c, int n)
{
     int i;
     for (i=0;i<n;++i) putchar(c);
}

int main()
{
    int i,n;
    printf("N = ");
    scanf("%d",&n);
    for (i=0;i<n;++i)
    {
         print(' ',n-i);
         print('/',i+1);
         print('\\',i+1);
         printf("\n");
    }
    for  (i=n-1;i>=0;--i)
    {
         print(' ',n-i);
         print('\\',i+1);
         print('/',i+1);
         printf("\n");
    }
}

 


N = 5
     /\
    //\\
   ///\\\
  ////\\\\
 /////\\\\\
 \\\\\/////
  \\\\////
   \\\///
    \\//
     \/
     

 

Така написано си е 95% Java като код:

int main() -> public static void main(String[] args)
void print(char c, int n) -> static void print(char c, int n)
putchar(c) -> System.out.print(c);
printf("\n"); -> System.out.println();

А този блок

int i,n;
printf("N = ");
scanf("%d",&n);

става на:

int i, n = 0;
Scanner sc = new Scanner(System.in);
do {
	System.out.println("Please enter N (> 1):");
	n = sc.nextInt();
} while (n < 1);
sc.close();

В случая "Алгоритъм език няма", а реално в задачата именно той се търси :D 

Поздрави !

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ето ми решението.. и имам някъде грешка, защото ми измества последните 4 реда..

import java.util.Scanner;
public class Diamond {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Input positive number n: ");
        int n = input.nextInt();
        int i;

        for (i = 0; i < n; i++) {
            for (int j = n - 1; j > i; j--) {
                System.out.print(" ");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("/");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("\\");
            }
            System.out.println("");
        }

        for (i = n - 1; i >= 0; i--) {
            for (int j = 0; j < i - n; j++) {
                System.out.print(" ");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("\\");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("/");
            }
            System.out.println("");
        }
    }
}

 

    /\
   //\\
  ///\\\
 ////\\\\
/////\\\\\
\\\\\/////
\\\\////
\\\///
\\//
\/
 

Сподели този отговор


Линк към този отговор
Сподели в други сайтове
преди 10 часа, AntoniqDimitrova написа:

Ето ми решението.. и имам някъде грешка, защото ми измества последните 4 реда..


import java.util.Scanner;
public class Diamond {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.print("Input positive number n: ");
        int n = input.nextInt();
        int i;

        for (i = 0; i < n; i++) {
            for (int j = n - 1; j > i; j--) {
                System.out.print(" ");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("/");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("\\");
            }
            System.out.println("");
        }

        for (i = n - 1; i >= 0; i--) {
            for (int j = 0; j < i - n; j++) { //Променете проверката на: j < n - i - 1
                System.out.print(" ");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("\\");
            }
            for (int k = -1; k < i; k++) {
                System.out.print("/");
            }
            System.out.println("");
        }
    }
}

 

    /\
   //\\
  ///\\\
 ////\\\\
/////\\\\\
\\\\\/////
\\\\////
\\\///
\\//
\/
 

Моля, погледнете в цитата коментарите къде да се промени.

Поздрави !


Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.