Veriler[0][0] = 1; Veriler[0][1] = 1; Veriler[0][2] = 1; Veriler[1][0] = 2; Veriler[2][1] = 3; Veriler[3][2] = 4;Veriler[***][0] -> buradaki yıldızla işaretlediğim değeri bir fonksiyon ile oluşturup yeni bir id almam lazım. [0] olarak ayarladığım yeri de limitlemem yada sınırsız yapmam lazım. Bu konu hakkında yardımcı olabilir misiniz ?
C++ Hakkında Yardım Eder Misiniz ?
6
●225
- 31-01-2019, 15:42:47Merhabalar, bir oyun sunucum için eklenti geliştiriyorum. Ama bir yerde takıldım. Şimdi bir array veya struct kullanmak istiyorum. Bunların limitlerinin sınırsız olmasını istiyorum. Yani şu şekilde kullanmak istiyorum.
- 31-01-2019, 18:08:14void main()x0rz adlı üyeden alıntı: mesajı görüntüle
{
int row = 3;
int col = 2;
int ** array2drow = (int**)malloc(row * sizeof(int**));
int * array2dcol = (int*)malloc(col * row * sizeof(int));
for (int i = 0; i < row; i++)
{
array2drow[i] = (array2dcol + (i * col));
}
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
int oku;
scanf("%d", &oku);
array2drow[i][j] = oku;
printf("array[%d][%d] = %d", i, j, array2drow[i][j]);
}
}
getchar();
}
kodu incelersen basit bir şekilde istediğine ulaşabilirsin. - 31-01-2019, 20:45:12Kodunuzu derledim ama hata alıyorum. Hatayı düzelttim ama sanırım sonsuz bir döngüye giriyor, oku kısmı çalışmıyor.oguzhane adlı üyeden alıntı: mesajı görüntüle
- 31-01-2019, 22:09:13bu şekilde kullanabilirsiniz.x0rz adlı üyeden alıntı: mesajı görüntüle
int ** D2ArrayCreator(int rowcount,int columncount) { int row = rowcount; int col = columncount; int ** array2drow = (int**)malloc(row * sizeof(int**)); int * array2dcol = (int*)malloc(col * row * sizeof(int)); for (int i = 0; i < row; i++) { array2drow[i] = (array2dcol + (i * col)); } /*for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { int oku; scanf("%d", &oku); array2drow[i][j] = oku; printf("array[%d][%d] = %d", i, j, array2drow[i][j]); } }*/ return array2drow; } void main() { int ** arrayim = D2ArrayCreator(5, 6); getchar(); } - 01-02-2019, 12:31:30Hocam peki şöyle bir şey yapabilir miyiz ?
Ben mesela bir vector oluşturdum bunun limitini 100 olarak belirledim ve içinde hiç bir veri yok. Vectorun içerisindeki boş bir indexi tespit edip oraya veri yazdırabilir miyiz ?
Yani örnek vermek gerekirse:
int id = VectorBosSira(); VectorYaz(id, 123); id = VectorBosSira(); VectorYaz(id, 124); id = VectorBosSira(); VectorYaz(id, 125); -> Vector İçeriği: 123[ID: 0], 124[ID: 1], 125[ID: 2] VectorSil(id, 124); -> Vector İçeriği: 123[ID: 0], 125[ID: 2] VectorYaz(id, 128); -> Vector İçeriği: 123[ID: 0], 128[ID: 1], 125[ID: 2]
Bu şekilde istiyorum. - 01-02-2019, 15:38:17x0rz adlı üyeden alıntı: mesajı görüntüle
#include "stdafx.h" #include <iostream> #include <vector> using namespace std; vector<vector<int>> vektor; void AddNewRow(int data) { vector<int>* v = new vector<int>; v->push_back(data); vektor.push_back(*v); } int getId() { return vektor.size() - 1; } int getArrayId(int id) { return vektor.at(id).size() - 1; } void AddRowArray(int id ,int data) { vektor.at(id).push_back(data); } int main() { AddNewRow(1); //vectorun en sonuna yeni gönderilen datayla vector oluşturur (0. index) int Id = getId(); // vectordeki en son id yi döner AddRowArray(Id, 10); // 1. vectore 2. elamana ekler AddRowArray(Id, 20); // 1. vectore 3. elamana ekler AddRowArray(Id, 30); // 1. vectore 4. elamana ekler AddRowArray(Id, 40); // 1. vectore 5. elamana ekler AddRowArray(Id, 75); // 1. vectore 6. elamana ekler cout << getArrayId(Id) << endl; // 1. vectorun son id sini döner cout << Id << ". vector " << getArrayId(Id) << ". elaman" << " degeri: " << vektor.at(Id).at(getArrayId(Id)) << endl; // 1. vektor en son id deki değeri döner. AddNewRow(99); //vectorun en sonuna yeni gönderilen datayla vector oluşturur (1. index) Id = getId(); // vectordeki en son id yi döner AddRowArray(Id, 90); // 2. vectore 2. elamana ekler AddRowArray(Id, 54); // 2. vectore 3. elamana ekler AddRowArray(Id, 28); // 2. vectore 4. elamana ekler AddRowArray(Id, 47); // 2. vectore 5. elamana ekler cout << getArrayId(Id) << endl; // 2. vectorun son id sini döner cout << Id << ". vector " << getArrayId(Id) << ". elaman" << " degeri: " << vektor.at(Id).at(getArrayId(Id)) << endl; // 2. vektor en son id deki değeri döner. cout << vektor.at(Id).at(0) << endl; // 1. vector 1. elamanın değerini döner. cin.ignore(); return 0; }