0 / 0 / 0
Регистрация: 18.05.2008
Сообщений: 21
|
||||||
1 | ||||||
Дан массив из восьми строк21.05.2008, 00:08. Показов 1215. Ответов 4
Метки нет Все метки)
(
Дан массив из восьми строк. В строке "фамилия студента_оценка1_оценка2". Приписать к каждой строке средний балл. отсортировать по убыванию балла и распечатать.
Задачу нужно решить без функций и процедур. Помогите разобраться и решить эту задачу плиз? Добавлено через 59 минут Вот мой код, тут вводяться элементы матрицы, и выводятся без всяких изменений. Нужно чтобы он складывал число после первой "_" с числом после второй "_" и сумму делил на 2 и после отсортировал по убыванию. Какие нужно использовать команды и как это всё осуществить подскажите плиз?
0
|
|
21.05.2008, 00:08 | |
Ответы с готовыми решениями:
4
Двумерный массив.Дан массив 5 х 5. Определить сумму элементов тех строк, где диагональный элемент равен нулю и записать их в отдельный массив. Дан массив А (8,5). Распечатать элементы строк, первый элемент в которых больше среднего арифметического строк Дан массив из восьми элементов расположить в порядке убывания Дан массив строк. Упорядочить массив по длине строк |
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
21.05.2008, 13:08 | 2 |
Алгоритм решения задачи такой:
В одном цикле: 1. Вводим 8 фамилий с двумя оценками по правилу:фамилия, пробел, оценка(1 цифра), пробел, оценка(1 цифра). 2. преобразуем символ после первого пробела в число. 3. преобразуем последний символ в число. 4. вычисляемсреднее. 5. преобразуем среднее в строку. 6.создаем новую строку=старая строка+' среднее'+значение среднего. 7. выводим на экран Конец цикла. Все перепиши аккуратно и правильно вводи, чтоб без претензий. На Паскале пишется это так: Код
[FONT='Courier New CYR'][SIZE=3]uses crt;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]const n=2;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]var s:array[1..n]of string;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] s1:array[1..20]of string;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] i,t,q,c:integer;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] sr:real;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] st:string;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]begin[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]clrscr;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]for i:=1 to n do[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] begin[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] write('s[',i,']:');{primer vvoda Popov 5 3}[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] readln(s[i]);[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] end;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]for i:=1 to n do[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] begin[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] val(copy(s[i],pos(' ',s[i])+1,1),t,c);[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] val(s[i][length(s[i])],q,c);[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] sr:=(t+q)/2;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] str(sr:4:1,st);[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] s1[i]:=s1[i]+s[i]+' srednee='+st;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] writeln(s1[i]);[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3] end;[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]readln[/SIZE][/FONT] [FONT='Courier New CYR'][SIZE=3]end.[/SIZE][/FONT]
0
|
0 / 0 / 0
Регистрация: 18.05.2008
Сообщений: 21
|
|
21.05.2008, 20:38 [ТС] | 3 |
Спасибо большое, работает, но как это всё отсортировать по убыванию?
0
|
Почетный модератор
64276 / 47575 / 32739
Регистрация: 18.05.2008
Сообщений: 115,182
|
|
21.05.2008, 20:43 | 4 |
Что-то недоглядел про сортировку. Делается она как любая сортировка массива, только не по всему значению строки, а по трем последним символам.
Вот отремонтированный код. Код
[FONT='Courier New CYR']uses crt; [FONT='Courier New CYR']const n=8;[/FONT] [FONT='Courier New CYR']var s:array[1..n]of string;[/FONT] [FONT='Courier New CYR'] s1:array[1..20]of string;[/FONT] [FONT='Courier New CYR'] i,t,q,c,j:integer;[/FONT] [FONT='Courier New CYR'] sr:real;[/FONT] [FONT='Courier New CYR'] st,x:string;[/FONT] [FONT='Courier New CYR']begin[/FONT] [FONT='Courier New CYR']clrscr;[/FONT] [FONT='Courier New CYR']for i:=1 to n do[/FONT] [FONT='Courier New CYR'] begin[/FONT] [FONT='Courier New CYR'] write('s[',i,']:');{primer vvoda Popov 5 3}[/FONT] [FONT='Courier New CYR'] readln(s[i]);[/FONT] [FONT='Courier New CYR'] end;[/FONT] [FONT='Courier New CYR']writeln;[/FONT] [FONT='Courier New CYR']writeln('Ishodnyj spisok:');[/FONT] [FONT='Courier New CYR']for i:=1 to n do[/FONT] [FONT='Courier New CYR'] begin[/FONT] [FONT='Courier New CYR'] val(copy(s[i],pos(' ',s[i])+1,1),t,c);[/FONT] [FONT='Courier New CYR'] val(s[i][length(s[i])],q,c);[/FONT] [FONT='Courier New CYR'] sr:=(t+q)/2;[/FONT] [FONT='Courier New CYR'] str(sr:4:1,st);[/FONT] [FONT='Courier New CYR'] s1[i]:=s1[i]+s[i]+' srednee='+st;[/FONT] [FONT='Courier New CYR'] writeln(s1[i]);[/FONT] [FONT='Courier New CYR'] end;[/FONT] [FONT='Courier New CYR']writeln;[/FONT] [FONT='Courier New CYR']writeln('Otsortirovannyj spisok:');[/FONT] [FONT='Courier New CYR']for i:=1 to n-1 do[/FONT] [FONT='Courier New CYR']for j:=1 to n-1 do[/FONT] [FONT='Courier New CYR']if copy(s1[j],length(s1[j])-2,3)<copy(s1[j+1],length(s1[j+1])-2,3)then[/FONT] [FONT='Courier New CYR'] begin[/FONT] [FONT='Courier New CYR'] x:=s1[j];[/FONT] [FONT='Courier New CYR'] s1[j]:=s1[j+1];[/FONT] [FONT='Courier New CYR'] s1[j+1]:=x;[/FONT] [FONT='Courier New CYR'] end;[/FONT] [FONT='Courier New CYR']for i:=1 to n do[/FONT] [FONT='Courier New CYR']writeln(s1[i]);[/FONT] [FONT='Courier New CYR']readln[/FONT] [FONT='Courier New CYR']end.[/FONT]
0
|
0 / 0 / 0
Регистрация: 18.05.2008
Сообщений: 21
|
|
22.05.2008, 22:18 [ТС] | 5 |
Puporev ты гений!!
0
|
22.05.2008, 22:18 | |
Помогаю со студенческими работами здесь
5
Дан двухмерный массив из 15 строк. Вставить в него строку из нулей после всех строк, номер которых кратен трем Дан целый массив из 5 строк и 3 столбцов.Упорядочить массив по возрастанию Дан массив M(n,k). Переписать в одномерный массив элементы всех строк, в которых есть нулевой элемент. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |