|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.12.2009, 01:49 | #1 |
Новичок
Джуниор
Регистрация: 10.12.2009
Сообщений: 3
|
перевод с Java на C
помогите перевести программы с явы на си, пожалуйста.
совершенный новичок в этом деле..а на уроке мало чего объясняют, а хотят программы на Си. обязуюсь во всём разобраться и понять в первой проге вводятся: n - количество студентов m - количество предметов aine - название предмета tud - код студента hinne - оценка за предмет ну и выглядит это дело всё в виде таблички. package marks; import java.util.Scanner; /** * * @author ... */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { int n; int m; int k; String[] aine = new String[8]; String[] tud = new String[11]; int[] AK = new int[10]; int[] TK = new int[10]; int[][] h = new int[10][10]; int max; int b; int i; int j; String t; String a; float tkx; float akx; Scanner in = new Scanner(System.in); do { System.out.println("Enter n"); n = in.nextInt(); } while (n < 0 || n > 31); do { System.out.println("Enter m"); m = in.nextInt(); } while (m < 0 || m > 31); for (j=0; j<m; j++) { do { System.out.println("Enter aine"); aine[j] = in.nextLine(); AK[j] = 0; } while (aine[j].length() < 1); } for (i=0; i<n; i++) { do { System.out.println("Enter tud"); tud[i] = in.nextLine(); TK[i] = 0; } while (tud[i].length() < 1); for (j=0; j<m; j++) { do { System.out.println("Enter hinne"); h[i][j] = in.nextInt(); } while (h[i][j] < 0 || h[i][j] > 5); AK[j] += h[i][j]; TK[i] += h[i][j]; } } /// veergude jarjestamine for (j=0; j<(m-1); j++) { max = j; for (k=j+1; k<m; k++) { if (AK[k] > AK[max]) { max = k; } } a = aine[max]; aine[max] = aine[j]; aine[j] = a; for (i=0; i<n; i++) { b = h[i][max]; h[i][max] = h[i][j]; h[i][j] = b; } b = AK[max]; AK[max] = AK[j]; AK[j] = b; } /// ridade jarjestmaine for (i=0; i<(n-1); i++) { max = i; for (k = i+1; k<n; k++) { if (TK[k] > TK[max]) { max = k; } } t = tud[max]; tud[max] = tud[i]; tud[i] = t; for (j=0; j<m; j++) { b = h[max][j]; h[max][j] = h[i][j]; h[i][j] = b; } b = TK[max]; TK[max] = TK[i]; TK[i] = b; } /// Tabeli valjastamine System.out.print(" Tudengid "); for (j=0; j<m; j++) { System.out.print(" " + aine[j] + " "); } System.out.println(" Keskmine"); for (i=0; i<n; i++) { System.out.print(" " + tud[i] + " "); for (j=0; j<m; j++) { System.out.print(" " + h[i][j] + " "); } tkx = (float) TK[i]/ (float )m; System.out.format(" %6.2f \n", tkx); } System.out.print(" Keskmine "); for (j=0; j<m; j++) { akx = (float) AK[j]/ (float) n; System.out.format(" %2.2f ", akx); } System.out.println(" "); } } |
10.12.2009, 01:50 | #2 |
Новичок
Джуниор
Регистрация: 10.12.2009
Сообщений: 3
|
package calendar;
import java.util.Arrays; import java.util.Scanner; /** * * @author ... */ public class Main { /** * @param args the command line arguments */ public static boolean is_leap(int year) { if ( 0 == year % 4 && 0 != year % 100 || 0 == year % 400 ) { return true; } else { return false; } } public static int differ(int year, int month, int day) { int start_year = 1900; int start_month = 1; int start_day = 1; int days = 0; int tmp = 0; tmp = (year-start_year)/4*366+(year-start_year-(year-start_year)/4)*365; //System.out.println((year-start_year)/4); days += tmp; switch (month-start_month) { case 1: days += 31; break; case 2: if (is_leap(year)) { days += 31+29; } else { days += 31+28; } break; case 3: if (is_leap(year)) { days += 31+29+31; } else { days += 31+28+31; } break; case 4: if (is_leap(year)) { days += 31+29+31+30; } else { days += 31+28+31+30; } break; case 5: if (is_leap(year)) { days += 31+29+31+30+31; } else { days += 31+28+31+30+31; } break; case 6: if (is_leap(year)) { days += 31+29+31+30+31+30; } else { days += 31+28+31+30+31+30; } break; case 7: if (is_leap(year)) { days += 31+29+31+30+31+30+31; } else { days += 31+28+31+30+31+30+31; } break; case 8: if (is_leap(year)) { days += 31+29+31+30+31+30+31+31; } else { days += 31+28+31+30+31+30+31+31; } break; case 9: if (is_leap(year)) { days += 31+29+31+30+31+30+31+31+30; } else { days += 31+28+31+30+31+30+31+31+30; } break; case 10: if (is_leap(year)) { days += 31+29+31+30+31+30+31+31+30+31; } else { days += 31+28+31+30+31+30+31+31+30+31; } break; case 11: if (is_leap(year)) { days += 31+29+31+30+31+30+31+31+30+31+30; } else { days += 31+28+31+30+31+30+31+31+30+31+30; } break; case 12: if (is_leap(year)) { days += 31+29+31+30+31+30+31+31+30+31+30+31 ; } else { days += 31+28+31+30+31+30+31+31+30+31+30+31 ; } break; default: days += 0; } days += day-start_day; return days; } public static void main(String[] args) { int year; int month; int day = 0; int max_days; int[] _long = {1, 3, 5, 7, 8, 10, 12}; int[] _normal = {4, 6, 9, 11}; String[] weekdays = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; Scanner in = new Scanner(System.in); do { System.out.println("Enter year"); year = in.nextInt(); } while (year < 1900 || year > 2900); do { System.out.println("Enter month"); month = in.nextInt(); } while (month < 1 || month > 12); if (is_leap(year) && month == 2) { max_days = 29; } else if (Arrays.binarySearch(_long, month) >= 0) { max_days = 31; } else if (Arrays.binarySearch(_normal, month) >= 0) { max_days = 30; } else { max_days = 28; } //System.out.println(max_days); do { System.out.println("Enter day"); day = in.nextInt(); } while (day < 1 || day > max_days); System.out.println(day + "/" + month + "/" + year); System.out.println(differ(year, month, day) + " days from 01/01/1900"); System.out.println(weekdays[(differ(year, month, day))%7]); } } |
10.12.2009, 01:50 | #3 |
Новичок
Джуниор
Регистрация: 10.12.2009
Сообщений: 3
|
ещё нужно вот эту, но не могу никак понять в чём ошибка..почему не сохраняется первоначальная длина. задача такая: вводишь какой-то набор символов(буквы,цифры..) и цифры будут заменяться на код ASCII, при этом, если ввёл 10 символов, то и выдавать должен 10, отбрасывая остальные. а у меня не отбрасывает. всё выводит.
public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { String tmp; int check=0; String[] string = new String[25]; int i=0; int[] lengths = new int[25]; Scanner in = new Scanner(System.in); do { System.out.println("Enter text"); tmp = in.nextLine(); string[i] = tmp; lengths[i] = tmp.length(); i++; } while (tmp.length() > 0); for (int j=0; j<i; j++) { for (int k=0; k<lengths[j]; k++) { char c = string[j].charAt(k); int n = c - '0'; if (check >= lengths[j]) { if (n > -1 && n<10) { check += 3; System.out.print(48 + n); } else { check += 1; System.out.print(c); } } } System.out.println(""); } } } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите справиться с java.lang.OutOfMemoryError: Java heap space | Levilaulada | Помощь студентам | 1 | 17.05.2009 10:59 |
Перевод из Кб в Мб и т.д. | okgo | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 18.11.2008 21:03 |
Java Enterprise Editon и Java Standard Editon | Deikwon | Общие вопросы по Java, Java SE, Kotlin | 2 | 04.12.2007 10:00 |