socofilesrus4
?>

Составьте кластер по видям компьютерной памяти.​

Информатика

Ответы

galinab1111326

Код:

file = open("input.txt", "r") #открытие для чтения

course = list(map(float, file.readline().split())) #список из 1 строки

euro = list(map(float, file.readline().split())) # из 2

dollar = list(map(float, file.readline().split())) # из 3

file.close() #файл закрывается

sum_dollar = 0

sum_euro = 0

for i in euro:       #сумма в евро

   sum_euro += i

for i in dollar:      #сумма в долларах

   sum_dollar += i

sum = sum_euro + sum_dollar * (course[0] / course[1]) # перевод всего евро

file = open("output.txt", "w+") #открытие файла или создание нового, если нету файла с таким названием

file.write(str(round(sum, 2)) + "\n")  #запись 1 строки

file.write(str(round(sum / (len(euro) + len(dollar)), 2))) #запись 2 строки

file.close()

Для работы достаточно файла input.tx с заполненными значениями (количество элементов во 2 и 3 строке может быть любое)

(функция round(x, y) округляет число Х до Y знаков после запятой)

(В примере неправильно посчитано, поэтому вывод другой при тех же значениях)

Aleksei Biketova

#include <iostream>

#include <ctime>

using namespace std;

int main() {

   const int n = 4;

   float arr[n][10];

   

   cout << "Исходный массив: " << endl;

   srand(time(NULL));

   for (int i = 0; i < n; i++){

       for (int j = 0; j < 10; j++){

           float minValue = -10.f;

           float maxValue = 10.f;

           arr[i][j] = (float)rand()/(float) RAND_MAX * (maxValue - minValue) + minValue;

           

           cout << arr[i][j] << " ";

       }

       cout << endl;

   }

   

   int maxIndex = 0;

   for (int i = 0; i < n; i++)

       for (int j = 0; j < 10; j++)

           if (arr[i][j] >= arr[maxIndex/10][maxIndex%10])

               maxIndex = i * 10 + j;

   cout << "Max: " << "arr["<<maxIndex/10<<"]["<<maxIndex%10<<"] = "

       << arr[maxIndex/10][maxIndex%10] << endl;

   

   int row = maxIndex/10;

   if (row < n - 1){

       cout << "Меняем " << row + 1 << " и " << n << " строки местами: " << endl;

       for (int j = 0; j < 10; j++){

           float temp = arr[n-1][j];

           arr[n-1][j] = arr[row][j];

           arr[row][j] = temp;

       }

       for (int i = 0; i < n; i++){

           for (int j = 0; j < 10; j++)

               cout << arr[i][j] << " ";

           cout << endl;

       }

   } else {

       cout << "Максимальный элемент находится на последней строке." << endl;

   }

   return 0;

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составьте кластер по видям компьютерной памяти.​
Ваше имя (никнейм)*
Email*
Комментарий*