Пятница, 29.03.2024, 08:29
Задачи по информатике
Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ignorer, KOT_B_MEIIIKE, PASCAL26, atvrider  
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » ФУНКЦИИ, язык С.
ФУНКЦИИ, язык С.
АрчиДата: Суббота, 20.02.2010, 21:35 | Сообщение # 1
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
Название темы: [C] Необходимо возвести массив в степень.
Описание темы: [24.02.2010] Функции.
Текст сообщения: с клавиатуры вводится размерность массива NxN (двумерный массив), затем также с клавиатуры вводится степень в которую нужно возвести данный массив.
Создание элементами, заполнение, возведение и удаление нужно сделать через функции.
 
[Nostr]Дата: Воскресенье, 21.02.2010, 10:54 | Сообщение # 2
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
Что есть возведение в степень?
Просто возвести в степень каждый элемент массива? Или массив - это матрица и нужно делать матричное умножение?
 
АрчиДата: Воскресенье, 21.02.2010, 16:49 | Сообщение # 3
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
возвести в степень каждый элемент массива, всё верно)

Сообщение отредактировал Арчи - Воскресенье, 21.02.2010, 16:50
 
[Nostr]Дата: Понедельник, 22.02.2010, 12:36 | Сообщение # 4
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
Держи. Задача простая, если что - подправишь вывод как тебе нужно

Code
#include <iostream>
#include <conio.h>

using namespace std;

int ** vvod(int &n,int **a)
{
  int i,j;
  cout << "Введите размер массива N : ";
  cin >> n;
  a = new int *[n];
  for (i=0;i<n;i++){
   a[i] = new int [n];
   for (j=0;j<n;j++) cin >> a[i][j];
  }
  return a;
}

int vivod(int n,int **a)
{
  int i,j;
  for (i=0;i<n;i++){
   for (j=0;j<n;j++){
    cout << a[i][j] << " ";
   }
   cout << endl;
  }
  cout << endl;
  return 1;
}

int step(int n,int **a,int k)
{
  for (int i=0;i<n;i++){
   for (int j=0;j<n;j++){
    for (int e=2;e<=k;e++) a[i][j]*=a[i][j];
   }
   cout << endl;
  }
  return 1;
}

int main()
{
  int n,**a;
  a = vvod(n,a);
  vivod(n,a);
  step(n,a,2);
  vivod(n,a);
  getch();
  return 0;
}
 
АрчиДата: Понедельник, 22.02.2010, 15:26 | Сообщение # 5
Сержант
Группа: Новичок
Сообщений: 6
[ 0 ]
Статус: Offline
спасибо огромное за решение, но я с cout and cin не работаю, поэтому некоторые вещи здесь не понятны!

например, что такое: cout << a[i][j] << " "; или cout << endl;

 
[Nostr]Дата: Понедельник, 22.02.2010, 17:08 | Сообщение # 6
Генерал-майор
Группа: Участник
Сообщений: 48
[ 3 ]
Статус: Offline
это равносильно :

Code
printf("%d ",a[i][j]);

А
Code
cout << endl;
- перенос строки
 
Форум » Решение задач по информатике » Задачи по программированию + блок-схемы » ФУНКЦИИ, язык С.
  • Страница 1 из 1
  • 1
Поиск:

Copyright MyCorp © 2024