сделать двухмерный массив в си шарп. в матрице D(10,10) найти строки с наибольшей и наименьшей суммой элементов и вывести на печать данные строки и суммы. (может вам другое решения на фоте)
// PascalABC.NET 3.0, сборка 1128 const nmax=100; var n,i,j,nn,nz,np,t:integer; a,an,az,ap:array[1..nmax] of integer; begin // формируем массив и выводим его Write('Количество элементов в массиве: '); Read(n); for i:=1 to n do begin a[i]:=Random(11)-5; Write(a[i],' ') end; Writeln; // разбиваем массив на три подмассива nn:=0; nz:=0; np:=0; for i:=1 to n do if a[i]<0 then begin nn:=nn+1; an[nn]:=a[i] end else if a[i]=0 then begin nz:=nz+1; az[nz]:=a[i] end else begin np:=np+1; ap[np]:=a[i] end; // сортируем массив с отрицательными элементами по убыванию for i:=1 to nn-1 do for j:=1 to nn-1 do if an[j]<an[j+1] then begin t:=an[j]; an[j]:=an[j+1]; an[j+1]:=t end; // сортируем массив с положительными элементами по возрастанию for i:=1 to np-1 do for j:=1 to np-1 do if ap[j]>ap[j+1] then begin t:=ap[j]; ap[j]:=ap[j+1]; ap[j+1]:=t end; // формируем новое содержимое массива a i:=0; for j:=1 to nz do begin i:=i+1; a[i]:=az[j] end; for j:=1 to np do begin i:=i+1; a[i]:=ap[j] end; for j:=1 to nn do begin i:=i+1; a[i]:=an[j] end; // вывод результата for i:=1 to n do Write(a[i],' '); Writeln end.
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <locale.h> //Максимальная длина вводимой строки#define Mx_s 255 //Массив символов, которые //необходиом удалить в начале и конце строкиchar sim[] = { '\t', ' '};//Функция проверяющая входит ли данный символ c в массив simint char_in_arr(char c) { int f = 0; for (int i = 0; i < strlen(sim); i++) { if (c == sim[i]) { f = 1; break; } } return f;}
int main(){ setlocale(LC_ALL, "rus"); //Вводимая строка char s[Mx_s]; //Ввод данных printf("\n >> Введите строку\n <<"); fgets(s, Mx_s, stdin); int l = strlen(s) - 1; //Переменные для определения отсечений в начале и конце строки int pos_b = 0; int pos_e = l-1; //Проверяем начало строки //Если нам попадаются удаляемые символы то увеличиваем значение pos_b for (;(pos_b < l) && char_in_arr(s[pos_b]); pos_b++) {} //Проверяем конец строки //Если нам попадаются удаляемые символы то уменьшаем значение pos_e for (;(pos_e >= 0) && (char_in_arr(s[pos_e])); pos_e--) {} //Длина отсеченного отрезка int l2 = pos_e - pos_b + 1; //Если длина корректа то if (l2 > 0) { //Строка для результата char s2[Mx_s]; //Идем по строке s1 int pos = 0; for (int i = pos_b, k_s = 0; i <= pos_e; i++) { //Считаем пробелы, идущие подряд if (s[i] == ' ') k_s++; else k_s = 0; //Если это не подряд идущие пробел if (k_s < 2) { //записываем символ в s2 s2[pos] = s[i]; pos++; } } s2[pos] = '\0'; //Вывод результат printf("\n >> Результат\n <<"); fputs(s2,stdout); } else //Строка пуста/Содержит только символы из массива sim printf("\n >> Ошибка в строке\n"); system("pause>>void"); return 0;}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку