Avant d'allumer les torches, j'essaie de m'apprendre le C++. J'ai l'impression d'en avoir une bonne idée, mais je dois plonger pour atteindre le fond si tu vois ce que je veux dire. J'essaye de déboguer un programme simple que j'essaye de faire pour m'apprendre. Ce but du programme est de trier par ordre alphabétique un tableau de chaînes en caractères imprimées chacun. Je devrais probablement utiliser des pointeurs ici quand je passe les tableaux à ma fonction length() mais je ne suis pas encore arrivé. Il y a tellement d'erreurs que je ne suis pas sûr de savoir où est l'erreur. S'il vous plaît dites-moi que c'est quelque chose comme un point-virgule manquant. Je suis assez sûr que la ligne if (itemsToSort [j] < firstInAZOrder) ne fonctionnera pas mais encore une fois, j'essaie d'apprendre la langue et je dois commencer quelque part.Problèmes de tri alphabétique des chaînes
main.cpp:
#include <iostream>
#include "stringarray.h"
void output (int sortedItems) {
for (int i = 0; ; i++) {
std::cout << sortedItems[i] << std::endl;
}
}
int main (int argc, char * const argv[]) {
std::string itemsToSort[] = {
'bob', 'john', 'tyler', 'anthony', 'luke', 'eric'
};
std::string sortedItems[length(itemsToSort)];
string firstInAZOrder;
for (int i = 0; i < length(itemsToSort); i++) {
firstInAZOrder = itemsToSort[i];
for (int j = i + 1; j < length(itemsToSort); j++) {
if (itemsToSort[j] < firstInAZOrder) {
firstInAZOrder = itemsToSort[j];
}
}
sortedItems[i] = firstInAZOrder;
}
output(sortedItems);
return 0;
}
stringarray.cpp:
int length (std::string array) {
return sizeof(array)/sizeof(array[0]);
}
stringarray.h:
int length (std::string array);
Voici la liste des erreurs et Xcode d'avertissement m'a donné:
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:12:3: avertissement: constante de caractères multi-caractères -
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:12:18: avertissement: caractère constante trop longue pour son type
- /Users/Tyler/Desktop/sort/main.cpp:12:27: avertissement: caractère constant trop longue pour son type
- /Users/Tyler/Desktop/sort/main.cpp : In 'sortie void (int)' fonction:
- /Users/Tyler/Desktop/sort/main.cpp:6: erreur: s int [int] 'types non valides pour indice de tableau
- /Users/Tyler/Desktop/sort/main.cpp: Dans la fonction 'int main (int, char * const *)':
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur: conversion invalide de 'int' à 'const char *'
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur : initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: char_traits, _Alloc = std :: allocateur]'
- /Users/Tyler/Desktop/sort/main.cpp:13: erreur: conversion non valide de 'int' à 'const char *'
- /Users/Tyler/Desktop/sort/main.cpp:13: erreur: initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: char_traits, _Alloc = std :: allocateur] '
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur: conversion non valide de' int 'à 'const char *'
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur: initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: caractères_caractères, _Alloc = std :: allocateur] '
- /Users/Tyler/Desktop/sort/main.cpp:13: erreur: conversion invalide de' int ' à 'const char *'
- /Utilisateurs/Tyler/Bureau/sort/main.cpp: 13: erreur: initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: char_traits, _Alloc = std :: allocator] '
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur: conversion invalide de' int 'à' const char * '
- /Utilisateurs/Tyler/Desktop/tri/main .cpp: 13: erreur: initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: char_traits, _Alloc = std :: allocator] '
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:13: erreur: conversion invalide de' int 'à' const char * '
- /Users/Tyler/Desktop/sort/main.cpp:13: erreur: initialisation de l'argument 1 de 'std :: basic_string < _CharT, _Traits, _Alloc> :: basic_string (const _CharT *, const _Alloc &) [avec _CharT = char, _Traits = std :: char_traits, _Alloc = std :: allocateur] '
- /Utilisateurs/Tyler/Desktop/sort/main.cpp:14: erreur: conversion de' std :: string * 'en non Type -scalar 'std :: string' a demandé
- /Users/Tyler/Desktop/sort/main.cpp:15: erreur: 'string' n'a pas été déclarée dans ce champ
- /utilisateurs/Tyler/Desktop/trier /main.cpp:15: erreur: attendu `; ' avant 'firstInAZOrder'
- /Users/Tyler/Desktop/sort/main.cpp:17: Erreur: la conversion de 'std :: string *' type non scalaire 'std :: string' a demandé
- /Utilisateurs /Tyler/Desktop/sort/main.cpp:18: erreur: 'firstInAZOrder' n'a pas été déclaré dans cette portée
- /Users/Tyler/Desktop/sort/main.cpp:20: erreur: conversion de 'std :: string * type non scalaire 'std :: string' a demandé
- /Users/Tyler/Desktop/sort/main.cpp:26: erreur: 'sortedItems' n'a pas été déclarée dans ce champ
- /utilisateurs/Tyler/Desktop/sort/main.cpp: 29: erreur: 'sortedItems' n'a pas été déclaré dans cette portée
- /Utilisateurs/Tyler/Desktop/sort/stringarray.cpp:10: erreur: 'chaîne' n'est pas membre de 'std'
- /Utilisateurs/Tyler/Desktop/sort/stringarray.cpp:10: erreur: attendu ',' ou ';' avant « { » jeton
Merci. Je n'ai pas réalisé que les guillemets importaient. –