Je veux créer le programme pour inverser la matrice. Mais je reçois une erreur que la taille de stockage de la matrice a [] code> n'est pas connue.
#include<iostream>
using namespace std;
int main()
{
int a[];
int b, c;
cin >> b;
for (int i = 0; i < b; i++)
cin >> a[i];
for (c = b; c >= 0; c--)
cout << a[c] << endl;
return 0;
}
4 Réponses :
Je veux créer le programme pour inverser le tableau P>
Utilisez simplement std :: vecteur pour cela. P>
Un bon début serait: p>
xxx pré> blockQuote>
Vous devez attribuer une taille maximale de la matrice. Essayez simplement cela en attribuant une longueur d'un tableau Ex Int a [5]; p>
Pas que i> simple - vous imposez une longueur maximale pour la matrice de cette façon et que l'utilisateur pourrait saisir un plus grand nombre! Vous devez donc également vérifier cette affaire et fournir une manipulation d'erreur appropriée.
Regardez les réponses à l'aide d'un std :: vecteur code> à la place.
@Aconcagua Pouvez-vous me suggérer un bon livre de programmation pour apprendre la programmation en C ++ ou tout cours gratuit en ligne?
@Shivamsharsharma regarde ici .
extension em> to Jejo 'S Réponse : Ce dernier est simple, élégant et efficace - pour n'importe quel type aussi simple que int code>. Si vous avez affaire à des types plus complexes, cependant, alors avec cette approche, vous devez d'abord initialiser tous les éléments, puis copier ou déplacer-attribuer les objets finaux, que vous voudriez probablement éviter. Dans un tel cas, l'approche suivante est supérieure: p>
Vous ne définissez pas une taille pour le tableau a [] code>, donc le message d'erreur. Les tableaux doivent avoir une taille spécifiée. Dans votre cas, vous devez utiliser l'opérateur
nouveau [] code> pour allouer le tableau après avoir déterminé cette taille de l'utilisateur, par exemple:
std :: vecteur code> à la place, par exemple: p>
Qu'est-ce qui manque de claire sur le message d'erreur? Vous n'avez pas spécifié de taille pour le tableau.
Je veux déclarer la taille de la matrice en donnant des informations.
@Shivamshama
std :: vecteur code>. Avez-vous trouvé cela dans le cadre de vos recherches?
@Shivamshama vous ne pouvez pas. Utilisez un
std :: vecteur code> et
push_back () code> à la place.
Pouvez-vous me montrer le code de programme pour inverser un tableau où la première ligne d'entrée contient la taille de la matrice.
Je suis nouveau à la programmation. Quelqu'un me suggère de meilleures structures de données et d'algorithme livre de C ++
@Shivamshaarma Arrays dans C ++ ont des tailles fixes. Contrairement à de nombreuses autres langues, leur taille doit savoir i> être connue à la création et peut jamais i> changer. Si vous voulez un conteneur de matrice de taille dynamique, essayez std :: vecteur. Mais notez qu'il ne sera redimensionné que lorsque vous utilisez l'insertion appropriée ou redimensionner des fonctions membres. Il suffit d'accéder à des éléments limités ne pourra pas le faire pousser. C'est simplement une erreur (que le compilateur n'est pas tenu de signaler). Edit: republié pour corriger plusieurs fautes de frappe.
@Shivamsharshas Voici un Liste Nous gardons.
Ceci est demandé tous les jours. Chaque jour. S'il vous plaît faire des recherches avant de poster!
@Light ... plusieurs fois que je dois ajouter: p
je l'ai maintenant. Mais quand je donne la taille maximale de la matrice comme un [100], il me donne une sortie inattendue.
pour (c = b code> ...
B code> est hors limites. Vous avez besoin
c = B-1 code> dans cette situation.
@TedlylyngMo travaillant maintenant..Merci beaucoup
Mieux encore après le changement et l'utilisation des vecteurs, utilisez des itérateurs inverse!