Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Перевести с С++ в java / 5 сообщений из 5, страница 1 из 1
29.03.2012, 21:56:24
    #37730435
luffi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести с С++ в java
доброй поры времень. помогите пожалуйста перевести етот код с С++ в java. java тока начинаю учить, сам не знаю как переделать
Код: plaintext
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.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
#include<stdafx.h>
#include<stdio.h>
#include<conio.h>
#include<math.h>
#define n 7

int main(int argc, char* argv[])
{
	double a[n]={0,1,2,3,2,1,1},b[n]={2,3,5,7,5,3,2},c[n]={1,1,2,3,2,1,0},d[n]={4,10,27,46,27,10,4};
	double A[n],B[n],e,x[n],D;
	int i,k=0;
	for (i=0;i<=n-1;i++)
	
		printf("a[%d]=%2.2f  ",i+1,a[i]);

	printf("\n\n");
	for (i=0;i<=n-1;i++)
	
		printf("b[%d]=%2.2f  ",i+1,b[i]);
	
	printf("\n\n");
	for (i=0;i<=n-1;i++)
	
		printf("c[%d]=%2.2f  ",i+1,c[i]);

	printf("\n\n");
	
	for (i=0;i<=n-1;i++)
	
		printf("d[%d]=%2.1f  ",i+1,d[i]);
	
	printf("\n\PROVERKA DIAGONAL'NUX ELEMENTOV: ");
	for(i=0;i<=n-1;i++)
	{
		if(fabs(b[i])<(fabs(a[i])+fabs(c[i])))
			k++;
			
	}
	if(k==0)
			printf(" VUPOLNENO \n");
		else
			printf(" NE VIPOLNENO!!!!\n");
	

	A[0]=-c[0]/b[0];
	B[0]=d[0]/b[0];
	printf("\nA[1]=%1.3f  ",A[0]);
	printf("\nB[1]=%1.3f\n  ",B[0]);
	for(i=1;i<n-1;i++)
	{	
		e=a[i]*A[i-1]+b[i];
		A[i]=-c[i]/e;
		B[i]=(d[i]-a[i]*B[i-1])/e;
		printf("\nA[%d]=%1.3f  ",i+1,A[i]);
		printf("\nB[%d]=%1.3f\n  ",i+1,B[i]);

	}
	x[n-1]=(d[n-1]-a[n-1]*B[n-2])/(b[n-1]+a[n-1]*A[n-2]);
    for(i=n-2;i>=0;i--)
	{
		x[i]=x[i+1]*A[i]+B[i];
    }
	printf("\n\n REWENIE SISTEMU:\n\n");
    for(i=0;i<=n-1;i++)
       printf("x[%d]=%2.2f  ",i+1,x[i]);
	
	getch();
	return 0;
}
...
Рейтинг: 0 / 0
29.03.2012, 21:58:15
    #37730438
Edd.Dragon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести с С++ в java
А к чему спешка? Продолжайте учить. Потом и переведете, когда научитесь.
...
Рейтинг: 0 / 0
29.03.2012, 22:25:29
    #37730461
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести с С++ в java
Проблема в printf? :)
...
Рейтинг: 0 / 0
29.03.2012, 22:34:27
    #37730467
luffi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести с С++ в java
та препод гонит, мы толком ешо ничего не знаем и не учили, а он вот такое задаёт.
проблема не только в принтф, проблема и с масивами
...
Рейтинг: 0 / 0
30.03.2012, 01:11:10
    #37730591
grasoff.net
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Перевести с С++ в java
так-то это не с++

Код: java
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.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
package ru.sql.java.luffi;

public class CppToJava {
    private static final int n = 7;

    public static void main(String[] args) {
        double[] a = {0, 1, 2, 3, 2, 1, 1}, b = {2, 3, 5, 7, 5, 3, 2}, c = {1, 1, 2, 3, 2, 1, 0}, d = {4, 10, 27, 46, 27, 10, 4};

        print_array(a, n, "a");
        print_array(b, n, "b");
        print_array(c, n, "c");
        print_array(d, n, "d");

        printf("PROVERKA DIAGONAL'NUX ELEMENTOV: ");
        int k = 0;
        for (int i = 0; i <= n - 1; i++) {
            if (fabs(b[i]) < (fabs(a[i]) + fabs(c[i])))
                k++;
        }

        if (k == 0) {
            printf(" VUPOLNENO \n");
        } else {
            printf(" NE VIPOLNENO!!!!\n");
        }

        double[] A = new double[n], B = new double[n];

        A[0] = -c[0] / b[0];
        B[0] = d[0] / b[0];
        printf("\nA[1]=%1.3f  ", A[0]);
        printf("\nB[1]=%1.3f\n  ", B[0]);

        for (int i = 1; i < n - 1; i++) {
            double e = a[i] * A[i - 1] + b[i];
            A[i] = -c[i] / e;
            B[i] = (d[i] - a[i] * B[i - 1]) / e;
            printf("\nA[%d]=%1.3f  ", i + 1, A[i]);
            printf("\nB[%d]=%1.3f\n  ", i + 1, B[i]);
        }

        double[] x = new double[n];
        x[n - 1] = (d[n - 1] - a[n - 1] * B[n - 2]) / (b[n - 1] + a[n - 1] * A[n - 2]);
        for (int i = n - 2; i >= 0; i--) {
            x[i] = x[i + 1] * A[i] + B[i];
        }

        printf("\n\n REWENIE SISTEMU:\n\n");

        for (int i = 0; i <= n - 1; i++) {
            printf("x[%d]=%2.2f  ", i + 1, x[i]);
        }
    }

    private static void print_array(double[] array, int count, String arrayName) {
        for (int i = 0; i <= n - 1; i++) {
            printf("%s[%d]=%2.2f  ", arrayName, i + 1, array[i]);
        }
        printf("\n\n");
    }

    private static double fabs(double value) {
        return Math.abs(value);
    }

    private static void printf(String format, Object... args) {
        System.out.printf(format, args);
    }
}
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Перевести с С++ в java / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]