Osman Kayan
Decapat
- Katılım
- 20 Aralık 2020
- Mesajlar
- 38
Daha fazla
- Cinsiyet
- Erkek
#include <iostream>
using namespace std;
int* satirToplamiAl(int row, int col) {
int** a = new int* [row];
for (auto i{ 0 }; i < row; ++i)
a[i] = new int[col];
int* result = new int[row];
auto sum{ 0 };
for (auto i{ 0 }; i < row; ++i) {
for (auto j{ 0 }; j < col; ++j) {
cout << i + 1 << ", " << j + 1 << " konumlu elamani giriniz: ";
cin >> a[i][j];
sum += a[i][j];
}
result[i] = sum;
sum = 0;
}
for (auto i{ 0 }; i < row; ++i) {
cout << i + 1 << ". satirin toplami: " << result[i] << endl;
delete[] a[i];
}
delete[] a;
return result;
}
int main() {
satirToplamiAl(2, 3);
return 0;
}
Başta matrisi tutmak lazım sanmıştım ama galiba değil. Hocanız pek açık yazmamış. Madem yazdırılacak, neden fonkisyon bir şeyler döndürüyor mesela? Neyse, sizin de odan aşağı kalır yanınız yok zaten. Buyurun, iş yapan bir c++ kodu.
Kod:#include <iostream> using namespace std; int* satirToplamiAl(int row, int col) { int** a = new int* [row]; for (auto i{ 0 }; i < row; ++i) a[i] = new int[col]; int* result = new int[row]; auto sum{ 0 }; for (auto i{ 0 }; i < row; ++i) { for (auto j{ 0 }; j < col; ++j) { cout << i + 1 << ", " << j + 1 << " konumlu elamani giriniz: "; cin >> a[i][j]; sum += a[i][j]; } result[i] = sum; sum = 0; } for (auto i{ 0 }; i < row; ++i) { cout << i + 1 << ". satirin toplami: " << result[i] << endl; delete[] a[i]; } delete[] a; return result; } int main() { satirToplamiAl(2, 3); return 0; }
public static void main(String[] args)
{
getRowSum(2,3);
}
public static int[] getRowSum(int row, int col)
{
int[][] matrix = createMatrix(row, col);
int[] result = sumRowArray(matrix);
System.out.println(Arrays.toString(result));
return result;
}
public static int[] sumRowArray(int[][] matrix)
{
int[] result = new int[matrix.length];
for (int i = 0; i < result.length; i++)
{
result[i] = sumArray(matrix[i]);
}
return result;
}
public static int sumArray(int[] row)
{
int sum = 0;
for (int item : row)
{
sum += item;
}
return sum;
}
public static int[][] createMatrix(int row, int col)
{
if (row > 0 && col > 0)
{
int[][] createdMatrix = new int[row][col];
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
String message = String.format("Please enter %d, %d th item", i, j);
createdMatrix[i][j] = getNumberFromUser(message);
}
}
return createdMatrix;
} else
{
throw new IllegalArgumentException("row and col should greater than 0.");
}
}
public static int getNumberFromUser(String message)
{
System.out.printf("%s: ", message);
String input = scanner.nextLine().trim();
try
{
int num = Integer.parseInt(input);
return num;
}
catch (Exception ex)
{
System.err.println("\nIllegal user input! Try again.");
return getNumberFromUser(message);
}
}
A function should do one thing, and only one thing.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.